如何借助JS中的RegExp从一行中删除包含两个相似符号的行中的单词

时间:2017-04-21 20:28:29

标签: regex

如何借助JS中的RegExp从一行中删除包含两个相似符号的行中的单词。 例如,我们有#34; Hello,Aleks!"。我们需要删除" Hello"因为我们有" ll"。 我可以使用警报(" Hello,Aleks!" .replace(/(。)\ 1 / g," $ 1"))。 它会删除双字母。但我需要删除包含双字母的单词。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在加倍后的字母之前使用\w*(0个或更多字母/数字/ _符号):



var res = "Hello, Aleks!".replace(/\w*(\w)\1\w*/g, "");
console.log(res);




要同时删除要关注的任何非字词,请添加\W*(除字母/数字/ _符号以外的0个或多个字符):



var res = "Hello, Aleks!".replace(/\w*(\w)\1\w*\W*/g, "");
console.log(res);




注意:\w匹配字母,数字和_。如果您只想匹配字母,请改用[a-zA-Z]

如果您需要匹配Unicode字母,请使用XRegExp \p{L}build a regex from Unicode ranges