Java正则表达式匹配单词或标点符号

时间:2014-08-11 11:25:32

标签: java regex

我试图创建一个匹配单词或任何标点符号的正则表达式,但连字符( - )除外。换句话说,我喜欢正则表达式将连字符视为单词的一部分。我提出的解决方案并没有为我解决问题:

 [^[(?![-])\p{Punct}]\s]+|(?![-])\p{Punct}
 [^[\p{Punct}&&[^-]]\s]+ |[\p{Punct}&&[^-]]

(交替的第一部分应该匹配单词(包括带连字符的单词),第二部分是匹配任何标点符号,但是用于连字符。)

有人可以请教我这个问题吗?我对正则表达式完全陌生。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

最后,我找到了完全满足我需求的解决方案。希望这可以帮助可能遇到类似问题的人。

[[^\p{Punct}\s]-]+|[\p{Punct}]