Regex 正则表达式匹配除“1”之外的所有8个字符串;00000000“;
我试图找出一个正则表达式,它匹配任何带有8个符号的字符串,而不等于“00000000” 有人能帮我吗Regex 正则表达式匹配除“1”之外的所有8个字符串;00000000“;,regex,regex-negation,Regex,Regex Negation,我试图找出一个正则表达式,它匹配任何带有8个符号的字符串,而不等于“00000000” 有人能帮我吗 至少在perl regexp中使用了一个否定的前瞻断言:^(?!0{8})。{8}$,感谢您,但我个人更愿意这样写: length$\u==8和$\ne'00000000' 还请注意,如果您确实使用regexp,根据语言的不同,您可能还需要一个标志来使点匹配换行符,如果您需要的话。在perl中,这是“单行模式”的/s标志。至少在perl regexp中使用了一个否定的前瞻断言:^(?!0{8})
至少在perl regexp中使用了一个否定的前瞻断言:
^(?!0{8})。{8}$
,感谢您,但我个人更愿意这样写:
length$\u==8和$\ne'00000000'
还请注意,如果您确实使用regexp,根据语言的不同,您可能还需要一个标志来使点匹配换行符,如果您需要的话。在perl中,这是“单行模式”的
/s
标志。至少在perl regexp中使用了一个否定的前瞻断言:^(?!0{8})。{8}$
,但我个人更愿意这样写:
length$\u==8和$\ne'00000000'
还请注意,如果您确实使用regexp,根据语言的不同,您可能还需要一个标志来使点匹配换行符,如果您需要的话。在perl中,这是“单行模式”的
/s
标志。除非您出于某种原因被迫使用它,否则这不是正则表达式问题。只需使用len=8&&s!=“00000000”
或您的语言用来比较字符串和长度的任何东西。除非您出于某种原因被迫使用它,否则这不是正则表达式问题。只需使用len=8&&s!=“00000000”
或您的语言用于比较字符串和长度的任何内容。除非您有未指定的要求,否则您确实不需要正则表达式:
if len(myString) == 8 and myString != "00000000":
...
(当然,使用您选择的语言!)除非您有未指定的要求,否则您确实不需要正则表达式:
if len(myString) == 8 and myString != "00000000":
...
(当然,使用您选择的语言!)如果需要从较大的字符串中提取不等于“000000000”的所有八个字符串,可以使用
"(?=.{8})(?!0{8})."
要识别每个序列的第一个字符并从其索引中提取八个字符。如果需要从较大的字符串中提取不等于“000000000”的所有八个字符串,可以使用
"(?=.{8})(?!0{8})."
识别每个序列的第一个字符,并从其索引中提取八个字符。([1-9]**\D*){8}会这样做吗?或者我在这里遗漏了什么(这实际上是ndim的反面,看起来应该有用)
我假设选择的字符包含超过个数字
好吧,那是错的,那么博洛教授,我的成绩是及格吗?(我喜欢reg表达式,所以我真的很好奇)
那工作?不会([1-9]**\D*){8}做吗?或者我在这里遗漏了什么(这实际上是ndim的反面,看起来应该有用)
我假设选择的字符包含超过个数字
好吧,那是错的,那么博洛教授,我的成绩是及格吗?(我喜欢reg表达式,所以我真的很好奇)
这是可行的吗?正如其他答案中提到的,正则表达式不是完成此任务的合适工具。我怀疑这是一个家庭作业,因此我将只提示一个解决方案,而不是明确说明
regexp“除00000000以外的任何8个符号”可以分解为8个regexp的总和,形式为“第i个位置上有非零符号的8个符号”。试着写下这样一个表达式,然后使用可选的(“|”)将它们组合成一个。如其他答案中所述,正则表达式不是完成此任务的合适工具。我怀疑这是一个家庭作业,因此我将只提示一个解决方案,而不是明确说明
regexp“除00000000以外的任何8个符号”可以分解为8个regexp的总和,形式为“第i个位置上有非零符号的8个符号”。试着写下这样一个表达式,然后用可选的(“|”)将它们组合成一个表达式。当然,只需检查一下即可
if stuff != '00000000'
...
但要记录在案,人们可以很容易地使用
重量级正则表达式(在Perl中),用于;-)
印刷品
00A00000 - ok
10000000 - ok
算了吧;-)
问候
当然,我们只需检查一下
if stuff != '00000000'
...
但要记录在案,人们可以很容易地使用
重量级正则表达式(在Perl中),用于;-)
印刷品
00A00000 - ok
10000000 - ok
算了吧;-)
问候
如果您需要一个正则表达式,
^(?!0{8})[a-Za-z0-9]{8}$
将匹配正好由8个字符组成的字符串。更改[]内的值将允许您设置接受的字符。如果您需要正则表达式,^(?!0{8})[a-Za-z0-9]{8}$
将匹配正好包含8个字符的字符串。更改[]中的值将允许您设置接受的字符。我正在使用企业库验证,在这里需要添加正则表达式,这是我想知道如何计算regex。您的意思是(s.length()==8)&(s!=“00000000”)
?True,如果这是一个家庭作业-它需要指定+1我正在使用企业库验证,我需要在其中添加正则表达式,这就是我想知道如何计算正则表达式。您的意思肯定是(s.length()==8)和&(s!=“00000000”)
?是的,如果这是一个家庭作业,则需要指定它+1Christoffer-使用@Marcelo和@klausbyskov通知您的更改。。。通过这种方式,他们将在状态栏中收到一个真正的通知,并希望再次返回到您的答案:)请参阅Christoffer-使用@Marcelo和@klausbyskov通知您的更改。。。这样,他们将在状态栏中得到一个真正的通知,并希望再次返回到您的答案:)参见@James:问题是“任何带有8个符号的字符串”。但是这个问题严重地低估了这个问题,所以谁知道呢?@James:问题是“任何带有8个符号的字符串”。但是这个问题严重地低估了这个问题,所以谁知道呢?你的下一个问题是关于匹配的,除了“0000000000000000”…你的下一个问题是关于匹配的,除了“0000000000000000”…对,不是要匹配任何