JavaScript Regex删除特定的连续重复字符
JavaScript Regex Remove Specific Consecutive Duplicate Characters
我正试图建立一个regex函数,将删除任何非alpha数字字符并删除所有重复字符,例如: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
是重复的。如果你不需要它,把i
从/gi
'1+是关键
"aabcdd".replace(/('w)'1+/g, function (str, match) {
return match[0]
}); // abcd
非正则表达式版本:
var oldString = "aabcd*def%gGGhhhijkklmnoP'122";
var newString = "";
var len = oldString.length;
var c = oldString[0];
for ( var i = 1; i < len; ++i ) {
if ( c != oldString[i] ) {
newString += c;
}
c = oldString[i];
}
简短的输入=梵天输出:梵天裁判:http://jsfiddle.net/p7yu8etz/5/
var str = "Brahmananda";
var reg = /(.)(.*?)('1)/g;
while (reg.test(str))
str = str.replace(reg, "$1$2");
$("div").text(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div><div>
相关文章:
- 如何限制同一个字符连续使用
- 如何检测每个连续字符与前一个字符相差最小字母差的字符序列(1)
- 如何在不丢失格式的情况下连续淡入() 元素文本的每个字符,包括嵌套元素
- Javascript 密码不应包含用户的帐户名或用户全名中超过两个连续字符的部分
- Javascript 正则表达式避免连续两次使用相同的字符
- 正则表达式不允许连续使用多个特殊字符
- 识别 Javascript 字符串中的连续十六进制字符块
- 正则表达式拒绝连续字符
- 匹配集合中连续出现的多个字符
- 将文本输入限制为由非连续字符分隔的数字组
- Regex电子邮件验证-域中没有连续的连字符
- 当4个字母字符连续出现时,Regex进行过滤
- 需要使用JavaScript过滤掉字符串中重复的连续字符
- 在JavaScript中验证连续字符或数字的正则表达式
- 如何找到3个或更多的连续字符
- Regex:两个或多个连续字符或字符序列
- 用javascript将连续字符序列隐藏到数组中
- Regex拒绝包括大写字母在内的连续字符
- 字符串必须匹配 set 中的 7 位数字和可选的非连续字符
- JavaScript 中的正则表达式拒绝 3 个连续字符