我试图匹配包含某些字符的字符串,但不包含其他字符。问题是,如果字符串包含一个允许的字符,表达式会找到一个匹配,即使它包含无效的字符(没有什么不寻常的,但不是我想要的)。
我使用的表达式是这样的([^abc][def])+
。
所以问题是:我可以定义一组字符,如果包含在字符串中,将阻止表达式匹配字符串吗?
您必须锚定表达式,以确保字符串中没有其他字符。例如:
^[chars]+'z
或者您可以简单地反转字符类,如果存在无效字符,您将获得匹配:
[^chars]
如果您想将这些检查与同一正则表达式中的其他表达式组合在一起,您可以使用forward:
^(?=[chars]+'z)expression