【发布时间】:2014-09-20 16:17:00
【问题描述】:
我正在尝试编写一个正则表达式来匹配二进制字符串,其中每个奇数字符都是1。
我想出了这个:
^([0|1]1)+$
我的逻辑:
^ 匹配行首
( 启动捕获组
[0|1] 匹配 0 或 1(因为第 0 位是偶数)
1 前一个字符(0 或 1)后面必须跟 1
+ 重复上一个模式一次或多次
$ 匹配行尾
所以按照我的逻辑,上面的正则表达式应该匹配二进制字符串,其中每隔一个字符(第一个“其他”字符是字符串中的第二个字符)是1。
但是,它不能正常工作。例如,字符串111 不匹配。
为什么它不工作,我应该改变什么才能让它工作?
【问题讨论】:
-
字符类中不需要
|。
标签: regex