我有一个正则表达式,一个子串不包含在第三和第四的位置在一起。下面是这样的表达式。
[a-z][K][^K][^T][B][T][A-Z][0-9][a-z]
字符串
总字母:9,第三和第四的位置不应该是KT。但它也不接受AT,KA以及。我想AT,KA是被接受。
下面还有一个表达式,它必须接受从第二位置到第六位置的KKTBT,第一位置应该只有字母,第七位置应该只有大写字母,第八位置应该只有数字,第九位置应该只有小写字母。
我写了下面的模式匹配。这是正确的。或者我们有更好的方法比下面。
[a-z][K][K][T][B][T][A-Z][0-9][a-z]
型
1条答案
按热度按时间bnl4lu3b1#
你的意思似乎是
([^K].|.[^T])
而不是[^K][^T]
,[^K][^T]
明确表示只有非K后跟非T时才匹配。具体的工作方式还取决于您使用的正则表达式引擎;请查看
regex
tag info page以获得进一步的指导。演示:https://ideone.com/DYOhBO
...尽管如注解中所述,
[K]
可以简化为K
等。