删除相邻的重复字母而不是数字的相应正则表达式是什么?
例如:
p11ppppl --> p11pl
我有以下正则表达式:
/[^\w\s]|(.)(?=\1)/g
但这也取代了重复的数字。
答案 0 :(得分:4)
我会这样做(可视化here):
/([a-zA-Z])(?=\1)/g
这是Python中的一个例子:
In [21]: re.sub(r'([a-zA-Z])(?=\1)', '', 'p11ppppl')
Out[21]: 'p11pl'
你也可以使用:
/([\D])(?=\1)/g
除了数字之外的所有内容,或者:
/([\w])(?=\1)/g
表示所有“单词字符”。
如评论中提到的@Casimir et Hippolyte,我们也可以使用:
/([a-zA-Z])\1+/g
以\1
作为替换字符串,这可能是更好的方法。