模式匹配任何不以字母a,b,c结尾的单词?

时间:2009-12-31 15:55:06

标签: regex

使用Regex。

我有这个找到以这些字母结尾的单词:

\S+[abc]\b

但是我需要所有在任何位置都有这些字母的字样,但最后却不是。

3 个答案:

答案 0 :(得分:6)

^字符是 not 的正则表达式(在字符组中使用时),因此对正则表达式稍作修改会产生: \S+[^abc]\b:一个或多个非空格字符,然后是位于字边界的a,b或c以外的任何字符

答案 1 :(得分:3)

如果[abc]必须在单词中的某个位置(除了结尾),您需要这样:

\S*[abc]\S*[^abc]\b

如果[abc]不需要在任何地方,Alon的解决方案就足够了:

\S+[^abc]\b

答案 2 :(得分:0)

a ^表示NOT a,b或c应该起作用:

\ S + [^ ABC] \ B'/ P>