我正在尝试编写一个正则表达式来排除包含010
的二进制字符串。
我不太确定该写些什么。
我从这个开始,但我不太确定该怎么做:
1*(0+10)*
谢谢!
发布于 2013-11-27 12:44:34
如果您想要匹配二进制字符串(只包含1
和0
的字符串),但排除包含字符串010
的字符串,则可以使用以下内容:
^((?!010)[01])*$
这将匹配任何包含零个或多个0
或1
字符的序列,以便该序列不包含子字符串010
。开始(^
)和结束($
)锚点将确保输入字符串中不允许有额外的字符。
发布于 2013-11-27 13:02:59
您的尝试要求任何长度的零后面都跟着10,这显然违反了您的约束。相反,要求任何1后面至少跟一个,或者字符串的末尾。
(0*(1(1+|$))*)*
发布于 2013-11-27 13:23:53
使用锚定的负面展望:
^(?!.*010)[01]+$
https://stackoverflow.com/questions/20234057
复制相似问题