我正在尝试创建一个与单词或任何标点符号匹配的正则表达式,除了连字符(-)之外。换句话说,我希望正则表达式将连字符视为单词的一部分。我想出的解决方案对我不起作用:

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


(交替的第一部分应该匹配单词(包括带有连字符的单词),第二部分应该匹配除了连字符以外的所有标点符号)。

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

最佳答案

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

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

10-08 16:52