0
我试图匹配包含某些字符但不包含其他字符的字符串。问题是,如果字符串包含允许的字符,表达式会找到一个匹配,即使它包含无效的字符(没有什么不寻常的,但不是我想要的)。
我正在使用的表达式看起来像这样([^abc][def])+
。
所以问题是:我可以定义一组字符,如果包含在字符串中,将停止匹配字符串的表达式?如果文本包含某些字符,正则表达式不匹配
我试图匹配包含某些字符但不包含其他字符的字符串。问题是,如果字符串包含允许的字符,表达式会找到一个匹配,即使它包含无效的字符(没有什么不寻常的,但不是我想要的)。
我正在使用的表达式看起来像这样([^abc][def])+
。
所以问题是:我可以定义一组字符,如果包含在字符串中,将停止匹配字符串的表达式?如果文本包含某些字符,正则表达式不匹配
您必须锚定您的表达式,以确保字符串中没有其他字符。例如:
^[chars]+\z
或者你可以简单地反转字符类,你会得到一个匹配,如果无效字符存在:
[^chars]
如果你想这样的检查与其他表达式组合相同的正则表达式,你可以使用一个lookahead:
^(?=[chars]+\z)expression
你正在使用哪种正则表达式? – Jerry
字符串是由什么组成的?只有信件?任何字符? – Patashu
字符,除了一些字母。 – undefined