求一个java中正则表达式,匹配所有标点符号,但除去‘-’和‘_’的

求一个java中正则表达式,匹配所有标点符号,但除去‘-’和‘_’的

可以使用正则表达式:(?=\pP)[^-_]
测试:
[code="java"]String ss = "测试test.df/;‘-_";
System.out.println(ss.replaceAll("(?=\pP)[^-_]", ""));[/code]
输出:
测试testdf-_

解释:
(1)前面部分(?=\pP)是个顺序环视正则表达式,只匹配位置不占用字符,匹配的位置是一个标点符号。
(2)匹配到标点符号后就排除掉'-'和'_'

关于顺序环视可以参考:[url]http://zoroeye.iteye.com/blog/2031597[/url]
关于其中的特殊符号匹配:可以参考[url]http://blog.csdn.net/telnetor/article/details/6041323[/url]