如何解决相同的字符转义序列
| 我想匹配花括号括起来的数字,但花括号本身是转义序列,我希望匹配在奇数个'em'时从最后一个花括号开始。{0} OK
{{0} NOT OK
{{{0} OK
{{{{0} NOT OK
我已经在这样的断言中向前/往后看:
(?<!\\{\\{)
但这与重复项{{{0}
不匹配,实际上我不确定是否可以在不涉及组和限定词的情况下完成此操作。 (如果断言不是比赛的一部分,我希望得到它)
匹配必须能够出现在字符串中的任何位置。
这是我到目前为止取得的最好成绩
(?<=^|[^\\{]|\\{\\{)\\{(?=\\w)
它在所有地方都成功,除了“ 4”这部分外,在成对的括号上放置一个量词似乎没有任何作用。根据文档,不应对断言后的零宽度正向后置声明的子表达式进行限制,但不能达到预期的效果。
解决方法
以您的尝试为基础,尝试以下操作:
(?<!\\{)\\{(?:\\{\\{)*(?=\\w)
一个解释:
(?<!\\{)
确保前面没有{
\\{
匹配一个{
(?:\\{\\{)*
匹配零个或多个出现的{{
(因此,总是an7 number的奇数个总数)
(?=\\w)
确保后面有一些文字
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。