我正在尝试编写一个正则表达式来排除包含010
的二进制字符串
我不太清楚要写什么。
我有这个开始,但我不太清楚该怎么做:
1*(0+10)*
谢谢!
答案 0 :(得分:1)
如果要匹配二进制字符串(仅包含1
和0
的字符串)但排除包含字符串010
的字符串,可能使用以下内容:
^((?!010)[01])*$
这将匹配零个或多个0
或1
个字符的任何序列,以使序列不包含子串010
。开始(^
)和结束($
)锚点将确保输入字符串中不允许使用其他字符。
答案 1 :(得分:0)
你的尝试需要跟随任何一段零,这显然违反了你的约束。相反,要求任何1后跟至少一个或字符串结束。
(0*(1(1+|$))*)*
答案 2 :(得分:0)
使用锚定的负面展望:
^(?!.*010)[01]+$