有人向我提供了一个很棒的解决方案,其中包含\p{S}
来匹配正则表达式中的任何符号。问题是我需要从\p{S}
中删除两个符号。我不希望&
或'
成为匹配。
我想也许\p{S^&^'}
会起作用,但事实并非如此。我看过网上但我不确定要搜索什么。
请帮忙。
\b\p{L}*[\p{S}\p{P}]((\p{L}[\p{P}\p{S}])|([\p{P}\p{S}]\p{L})|(\p{L}))+\b
另一个解决方案是\b([a-zA-Z]+(?:[^\w\s^'&]|_)[a-zA-Z]*)|[a-zA-Z]*(?:[^\w\s^'&]|_)[a-zA-Z]+\b
,但它捕获以标点符号结尾的单词。如果它不这样做也会起作用。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以使用负面预测(?!.*[&'])
,即
\b(?!.*[&'])\p{L}*[\p{S}\p{P}]((\p{L}[\p{P}\p{S}])|([\p{P}\p{S}]\p{L})|(\p{L}))+\b