正则表达式=>匹配Set中的所有内容,但一个字符除外

new*_*int 2 regex

假设我有一组字符[az]我想匹配集合中的每个字符,除了字符"a"谢谢!

Tim*_*ker 11

[a-z-[e]]
Run Code Online (Sandbox Code Playgroud)

表示"除了e之外的a和z之间的任何字符".但据我所知,只有.NET,JGSoft和XML Schema支持这些" 减去字符类 ".

另一个例子:

[a-z-[aeiou]]
Run Code Online (Sandbox Code Playgroud)

匹配任何(ASCII)辅音.

  • 在Java中,那些将是`[az && [^ e]]`和`[az && [^ aeiou]]`; 在字符类中,`&&`是一个集合交集运算符.据说Oniguruma(Ruby 1.9 +,TextMate)也支持`&&`,但我不能测试它. (3认同)

Gum*_*mbo 5

您可以根据需要指定字符范围,例如:

[b-z]
Run Code Online (Sandbox Code Playgroud)

这只会从匹配的字符bz.唯一的限制是,根据使用的字符集,它是一个有效的字符范围,以便第一个字符的代码点低于第二个字符.