使用正则表达式从句子中删除非字母单词

时间:2015-01-30 02:47:29

标签: regex regex-negation regex-lookarounds

是否可以删除不包含a-z字母的句子中的单词?我已经考虑过负面看法,但没有成功。

例如,

This is a 1-2-a3 sample 12 -- 7-8 sentence

成为

This is a 1-2-a3 sample sentence

假设所有其他标点符号都被删除,除了破折号。

谢谢!

1 个答案:

答案 0 :(得分:1)

以下正则表达式将匹配那些不包含字母的单词。

(?<!\S)[^a-zA-Z\s]+(?!\S)

DEMO

只需将这些匹配的单词替换为空字符串即可获得所需的输出。 (?<!\S)负面的后视,断言匹配不会以非空格字符开头。 (?!\S)否定前瞻,断言匹配不会跟随非空格字符。