正则表达式模式与{^和^}

时间:2017-10-05 05:00:42

标签: regex

我正在尝试编写一个与{^xyz^}匹配的模式,如下所示

@"\b\{\^\S*\^\}\b

但我没有成功,并想知道我的模式有什么问题。

2 个答案:

答案 0 :(得分:1)

您可以使用:

@"\{\^([^}]*)\^\}"

并为您的字符串提取捕获的组#1。

  • 使用捕获的组获取要从较大匹配中提取的子字符串。
  • 单词边界或\b在此处无法使用,因为{}是非单词字符。
  • 使用否定字符类[^}]*比贪婪\S*更有效,更准确。

答案 1 :(得分:0)

我只想使用\{\^(\S*?)\^\}。这样您就可以捕获插入符号和大括号之间的内容。 ?是使*量词延迟,因此它匹配尽可能少的字符(为了防止匹配一个块的开头直到同一行中另一个块的结尾)。 / p>

对于那些\b,您需要在大括号之前和之后使用单词类型字符才能匹配正则表达式。这真的是一个要求吗?或者可以有空间吗?