相同的字符转义序列
本文关键字:转义序列 字符 | 更新日期: 2023-09-27 17:57:59
我想匹配由大括号括起来的数字,但大括号本身是转义序列,当正好有奇数'em时,我希望匹配从最后一个大括号开始。
{0} OK
{{0} NOT OK
{{{0} OK
{{{{0} NOT OK
我有这样的前瞻性断言:
(?<!'{'{)
但这与重复{{{0}
不匹配,我实际上不确定是否可以在不涉及组和quatifier的情况下做到这一点。(如果断言不是比赛的一部分,我会喜欢的)
匹配必须能够出现在字符串中的任何位置。
这是迄今为止我得到的最好的
(?<=^|[^'{]|'{'{)'{(?='w)
除了这一部分之外,它在所有地方都成功了。{{{{0}
在大括号对上放一个量词似乎没有任何效果。根据文档的说法,零宽度正lookbacking断言的子表达式不应该有限制,但它没有达到预期的效果。
以您的尝试为基础,尝试以下操作:
(?<!'{)'{(?:'{'{)*(?='w)
解释:
(?<!'{)
确保前面没有{
'{
匹配一个{
(?:'{'{)*
匹配零次或多次出现的{{
(因此总有奇数个{
)(?='w)
确保后面有一些单词字符