我想匹配大括号括起来的数字,但大括号本身就是转义序列,我希望匹配从最后一个大括号开始,当时恰好是奇数个'。
{0} OK
{{0} NOT OK
{{{0} OK
{{{{0} NOT OK
我是这样的先行/后视断言:
(?<!\{\{)
但这与重复{{{0}
不匹配,我实际上不确定这可以在不涉及群体和quatifiers的情况下完成。 (如果断言不是比赛的一部分,我会喜欢它)
匹配必须能够在字符串中的任何位置发生。
(?<=^|[^\{]|\{\{)\{(?=\w)
除了这一部分{{{{0}
之外,它在所有地方都取得了成功,因此在括号上放置量词似乎没有任何效果。根据{{3}},对零宽度正向后观断言的子表达式不应有限制,但它没有达到预期的效果。
答案 0 :(得分:1)
以您的尝试为基础,试试这个:
(?<!\{)\{(?:\{\{)*(?=\w)
解释:
(?<!\{)
确保前面没有{
\{
匹配一个{
(?:\{\{)*
匹配零次或多次{{
次出现(总是奇数{
)(?=\w)
确保