有没有办法在正则表达式(java)中使用\ p {Punct},但没有“(”,“)”字符?

时间:2011-06-08 13:45:15

标签: java regex

有没有办法在java中的正则表达式中使用模式 \ p {Punct} ,但没有两个字符()

3 个答案:

答案 0 :(得分:27)

你应该可以使用:

[\p{Punct}&&[^()]]

这说的是:

  

punct(之外的)字符类。

^字符指定负字符类。 &&punct类与括号的自定义类之间的交集。

查看Pattern Javadocs获取更多信息。

答案 1 :(得分:11)

这应该有效:

[\p{Punct}&&[^()]]

&&是字符类的交集运算符,因此\p{Punct}[^()]的交集就是您所追求的。请参阅Character Classes

答案 2 :(得分:0)

是的,只需使用[!“#$%&'* +, - 。/:;< =>?@ [] ^ _` {|}〜]