需要一个模式来匹配一个不应该是 -
的字符串777777777
888888888
999999999
或以00
或02
或04
开头。
当我试图创建一个符合上述要求的模式时,我通过 -
完成了它Dim _pattern6 As String = "^(7+|8+|9+|(00|07|08|09|17|18|19|28|29|43|48|69|70|78|79|80|96|97).*)$"
无法完成NOT MATCH部分。
答案 0 :(得分:3)
你想要的是 negative lookahead 。
@"^(?!([789])\1{8}$|0[024]).*$"
否定前瞻(?!...)
意味着“此位置后面的任何内容都无法与这些模式中的任何一种相匹配。”因此(?!7{9}).*
表示“任何字符串(.*
)不会以9行7
开头。” ([789])\1{8}$
是9个重复数字的简写。它的意思是“7,8或9,其次是8次。”
在RegexPlanet上进行测试:http://fiddle.re/tz8p
答案 1 :(得分:1)
您可以尝试匹配不需要的部分。如果返回true,则表示“不匹配”的尝试是错误的,反之亦然。
答案 2 :(得分:-2)
你去吧
[^(7{9}|8{9}|9{9}|00|02|04)]+