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

时间:2010-10-03 17:56:05

标签: regex

假设我有一组字符[a-z] 我希望匹配集合中的每个字符,但字符“a”除外 谢谢!

3 个答案:

答案 0 :(得分:11)

[a-z-[e]]

表示“除了e之外的a和z之间的任何字符”。但据我所知,只有.NET,JGSoft和XML Schema支持这些“subtracted character classes”。

另一个例子:

[a-z-[aeiou]]

匹配任何(ASCII)辅音。

答案 1 :(得分:5)

您可以根据需要指定character ranges,例如:

[b-z]

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

答案 2 :(得分:2)

完整的解决方案(即无论角色位于[a-z]集中的位置更加兼容):

[^\W\dA-Z && x]

其中" x"是要排除的字符(或字符组,例如efgh)。

经过测试:

http://www.regexplanet.com/advanced/java/index.html

http://regexpal.com/