gpt4 book ai didi

JavaScript 正则表达式删除特定的连续重复字符

转载 作者:可可西里 更新时间:2023-11-01 01:56:27 25 4
gpt4 key购买 nike

我正在尝试构建一个正则表达式函数,它将删除任何非字母数字字符并删除所有重复字符,例如这个:aabcd*def%gGGhhhijkklmnoP\1223 会变成这个:abcddefgGhijklmnoPR3。我可以很容易地删除特殊字符,但我终生无法解决如何删除重复字符的问题?这是我当前用于删除特殊字符的代码:

var oldString = aabcd*def%gGGhhhijkklmnoP\122
var filtered = oldStringt.replace(/[^\w\s]/gi, "");

我如何扩展上述正则表达式以检查重复字符和那些由非字母数字字符分隔的重复字符。

最佳答案

正则表达式是 /[^\w\s]|(.)\1/gi

在这里测试:http://jsfiddle.net/Cte94/

它使用反向引用来搜索任何字符 (.) 后跟相同的字符 \1

除非“检查重复字符”是指 aaa => a

然后是/[^\w\s]|(.)(?=\1)/gi

在这里测试:http://jsfiddle.net/Cte94/1/

请注意,两个正则表达式都不区分大小写。 A == a,所以 Aa 是一个重复。如果你不想要它,从 /gi

中拿走 i

关于JavaScript 正则表达式删除特定的连续重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7780794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com