MFC(CAtlRegExp)正则表达式,以匹配N个字节的字符串,该字符串在OR中的值为0或1

卢卡·皮奇内利(Luca Piccinelli)

我有一个字符串,例如6个字节;每个值都可以为“ 0”或“ 1”。哪个CAtlRegExp正则表达式与这些字节的任何0/1组合但并非全0匹配?

例如:

0001010 Match
0000001 Match
0000010 Match
1111111 Match

0000000 No match

我以为

^[01][01][01][01][01][01]$

但这个也匹配“ 000000”

并且在POSIX正则表达式中?

提前致谢

三万

如您在问题中所暗示的,如果除了零和一的混合字符串之外没有其他输入是可能的,那么您所要做的就是找到一个或一个非零字符,即1[^0]如果找到一个匹配项,它将为您提供一个匹配项。

如果您的regex风格支持前瞻,并且您还希望在regex中进行语法检查,则可以尝试

(?=[01]{6})0*1

这肯定会确保6个零(或所需长度的更改)为零或一,然后检查是否有一个可能以零为前缀的零。

编辑:签出CAtlRegExp,它不支持向前看:(。但是我有一个甚至更简单的正则表达式,可能可以完成这项工作:

{0*1+[01]*}

这不会验证长度,但是应该可以满足您的其他需求。如果需要的话,还捕获字符串(CAtlRegExp风格)。如果没有,请卸下支架。希望这可以帮助。

问候

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将字符串与正则表达式匹配,即使该字符串应匹配也为null

Javascript匹配一个字符串,该字符串以正则表达式中的特定字符开头,并以相同的字符结尾

正则表达式匹配字符串中的单个字符

匹配字符串中的正则表达式

bash中整个字符串(不是子字符串)的正则表达式匹配

正则表达式匹配字符串中的4个字母

单个字符串中的多个正则表达式模式匹配

PostgreSQL查询中字符串的最后n个字符的正则表达式

正则表达式匹配以字符串开头或不以字符串开头的值

为什么正则表达式^([0 | 1] 1)+ $不匹配字符串“ 111”?

正则表达式匹配字符串中的固定子字符串

正则表达式匹配多行字符串中的字符串

用对象值替换字符串中匹配的正则表达式值

正则表达式匹配偶数为1的字符串,并以0开头和结尾

正则表达式只匹配一组可能的字符串中的一个值,而不匹配该组中的多个字符串

根据正则表达式匹配替换数据框中的字符串值

正则表达式匹配字符串中的“时间”值

无法在字符串中获取正则表达式匹配的值

正则表达式匹配字符串中重复的属性值

正则表达式匹配至少不包含X个字符的字符串

正则表达式匹配 2 个字符之间的所有字符串

正则表达式匹配两个字符之间的字符串

正则表达式在2个字符串之间匹配特定字符

Javascript正则表达式匹配字符串,仅出现__个字符

Javascript正则表达式匹配部分字符串,但不匹配整个字符串

正则表达式在字符串中的任意位置精确匹配1

确保正则表达式与Swift正则表达式匹配整个字符串

python 2.7正则表达式与字符串中的\ r \ n匹配

替换字符串中的第N个正则表达式匹配项