作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我只想匹配 1010 或 0101,但不匹配 1111 或 0000。我使用以下正则表达式:
\b((1|0)(?!\2))+
它在 Kodos 中运行良好,但由于 group(),我也想要匹配的序列。我试过了:
\b(((1|0)(?!\2))+)
但是Kodos中显示“cannot refer to open group*”我不明白为什么它不起作用。
你能帮帮我吗?
编辑:适当的正则表达式是 (\b(((1|0)(?!\3))+)
。
最佳答案
我认为问题在于您的第二行代码中有三个独立的组。它们根据左括号的顺序进行编号。
Group 1: ((1|0)(?!\2))+
Group 2: (1|0)(?!\2)
Group 3: 1|0
如您所见,第 2 组包含对自身的引用,但它在解析时仍处于打开状态。
关于python - 科多斯 & "cannot refer to open group",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11511083/
我是一名优秀的程序员,十分优秀!