Regex 要匹配特定数字模式的正则表达式

Regex 要匹配特定数字模式的正则表达式,regex,Regex,我想构建一个正则表达式,它允许我通过数千行的文本文件进行解析,每行包含一个数字大小可变的数字 每个数字只能包含数字1或0(零) 要求数字中必须至少有3个1,并且至少有一个0。因此,每个数字所需的最小大小为4,并且具有无限的最大值 例如,它必须匹配: 000000111 - has at least 1 zero and 3 ones 1110 - same thing 11111000 - same thing 111 - FAIL, because it's under 4 digits lo

我想构建一个正则表达式,它允许我通过数千行的文本文件进行解析,每行包含一个数字大小可变的数字

每个数字只能包含数字1或0(零)

要求数字中必须至少有3个1,并且至少有一个0。因此,每个数字所需的最小大小为4,并且具有无限的最大值

例如,它必须匹配:

000000111 - has at least 1 zero and 3 ones
1110 - same thing
11111000 - same thing
111 - FAIL, because it's under 4 digits long
0000000011 - FAIL, needs at least 3 ones

有人能帮我吗?我的问题是,我无法确定如何在数字中的任意位置找到“至少3个1和1个0”,关键字是anywhere。

您可以将这些数字与以下内容匹配:

(?=1*0)(?:0*1){3}[10]*
(?=1*0)
确保至少有1个
0
具有前瞻
(?=…)

(?:0*1){3}
将数字与3
1
s匹配


[10]*
匹配其余部分或数字

您可以将这些数字与以下内容匹配:

(?=1*0)(?:0*1){3}[10]*
(?=1*0)
确保至少有1个
0
具有前瞻
(?=…)

(?:0*1){3}
将数字与3
1
s匹配


[10]*
匹配其余部分或数字

除非这是严格的正则表达式练习/实践,否则手工操作更容易。(而且由于正则表达式会很复杂(我猜是这样),它会更有效率)

int-one=0;
整数零=0;
对于(整数i=0;i=4&&1>=3&&0>=1)
返回true;

除非这是严格的正则表达式练习/实践,否则这将更容易手工完成。(而且由于正则表达式会很复杂(我猜是这样),它会更有效率)

int-one=0;
整数零=0;
对于(整数i=0;i=4&&1>=3&&0>=1)
返回true;

是的,这是大学里的一门正则表达式课程,我们不能使用编程语言,否则会容易得多,正如你所说。无论如何谢谢你!是的,这是大学里的一门regex课程,我们不能使用编程语言,否则会容易得多,正如你所说的。无论如何谢谢你!如果可能的话,尝试对字符串进行排序,然后用regexp
0+1{3,}
对字符串进行排序,然后用regexp
0+1{3,}