我想匹配大括号中的数字,但是大括号本身是转义序列,当有奇数个大括号的时候,我希望匹配从最后一个大括号开始。
{0} OK
{{0} NOT OK
{{{0} OK
{{{{0} NOT OK
我已经看到/向后查找断言,就像这样:
(?<!\{\{)
但是这与重复的匹配{{{0}
不符合,我其实不确定是否可以在不涉及组和限定符的情况下完成此操作。(如果断言不是匹配的一部分,那就更好了)
匹配必须能够出现在字符串的任何位置。
这是我迄今为止得到的最好结果
(?<=^|[^\{]|\{\{)\{(?=\w)
除了这部分{{{{0}
,它在其他地方都成功了。 将量词放在大括号对上似乎没有任何效果。 根据文档,零宽度正回顾断言的子表达式不应有限制,但它并没有产生预期的效果。
\{(?:\{\{)*
而不是(?:\{\{)*\{
:它们是完全等价的。而(?...)
只是一个匹配字符串但不被引用的组(所谓的非捕获组)。 - Gumbo*
、+
、{x,}
等)。 - Gumbo