我以为它会是(E0 * 0 * EUE1 * E)? 其中E是集我的字母表中,具有至少2个0和至少11所有包含至少两个0和至少一个1的二进制字符串的正则表达式?
回答
尝试这个表达式:
^(.*0.*0.*1.*)|(.*0.*1.*0.*)|(.*1.*0.*0.*)$
EDIT 可以简化为:
^.*(0.*0.*1)|(0.*1.*0)|(1.*0.*0).*$
为什么使用'^'和'$'?尝试'(0. * 0. * 1)|(0. * 1. * 0)|(1. * 0. * 0)' –
如果您想验证一串'1'和'0符合问题的条件,那么搜索'001 | 01 + 0 | 100'就足够了。 – Qtax
的建议的解决方案是错误的,因为它也会接受000000000
其中E = {0,1}。请注意,1 *表示任意数量的1 [包括无]
E* * (0E*0E*1+0E*1E*0+1E*0E*0) * E*
将工作:所有可能的排列0,0,1,并在任何可能的地方插入E * [因此,您可以在/之间插入任意数量的字符所需元素]。在正则表达式的语法是:.*(0.*0.*1|0.*1.*0|1.*0.*0).*
如果你被允许使用前瞻,这里是我会怎么做:(与评论在PHP中的自由空间模式)
$re = '/
# Binary strings that include at least two 0s and at least one 1.
^ # Anchor to start of string.
(?=(?:[^0]*0){2}) # at least two 0s.
(?=[^1]*1) # at least one 1.
[+\-]? # Optional leading sign.
[01]+ # Match string of binary digits.
$ # Anchor to end of string.
/x';
请注意您可能在字符串的开头放置任意数量的预览(以逻辑AND
的方式工作),以指定多个逻辑要求。
- 1. 正则表达式二进制字符串至少包含
- 2. 正则表达式来梳理包含至少两个0和最多一个1的字符串?
- 3. 包含至少一个数字的字符串的正则表达式
- 4. 正则表达式匹配至少一个符号和至少2个数字
- 5. 正则表达式匹配所有特定的字符串或至少一个
- 6. 正则表达式:密码必须包含至少1个特殊字符
- 7. 正则表达式为无字母,至少有1个数字
- 8. 至多Perl的正则表达式和至少一个字符的约束
- 9. 正则表达式,至少有1个字母和1个数字
- 10. 查找包含至少一个组的所有子字符串
- 11. 正则表达式必须包含至少一个数字和字母吗?
- 12. 正则表达式必须至少有3个字母字符
- 13. 正则表达式的字母,至少1个数字和特殊字符
- 14. 正则表达式的至少一个上,下和数字
- 15. 正则表达式的C包含至少一个数字,字母
- 16. 至少x个数字字符的javascript正则表达式
- 17. 正则表达式找到两个字符中的至少一个
- 18. 正则表达式,用于与至少1号和1个字符
- 19. 正则表达式匹配单词至少一个字符
- 20. 正则表达式为至少一个字符
- 21. javascript正则表达式需要至少一个特殊字符
- 22. 正则表达式匹配至少一个字符或空格
- 23. 正则表达式匹配每个字符至少一次
- 24. 正则表达式匹配两个单词或至少一个
- 25. 必须至少有数量和字符的正则表达式
- 26. 正则表达式密码必须包含字母,至少包含一个特殊字符和至少一个数字?
- 27. 正则表达式接受至少一个字母字符和数字字符
- 28. 正则表达式只允许字母,数字和至少两个字符
- 29. 含有至少3个字符类型的android正则表达式
- 30. 正则表达式的字母数字,但至少有一个字符
http://cstheory.stackexchange.com – NullUserException
从来不知道存在,真棒 – jfisk