一个很凌乱的字符串,谁都不知道会是什么样子,如果出现了a b c,就把最后的那个a b c换成*
'aaaabbbcc' ---> 'aaa*bb*c*'
'123a123b111c' ---> '123*123*111*'
'啊a不b的c' ---> '啊*不*的*'
'aaabbbaacc' ---> 'aaabba*c*'
'aaabbccaa' ---> 'aaabbcca*'匹配的时候a b c的顺序要是从a到b到c。
根据最后出现a b c的情况来定。
'aaaabbbcc' ---> 'aaa*bb*c*'
'123a123b111c' ---> '123*123*111*'
'啊a不b的c' ---> '啊*不*的*'
'aaabbbaacc' ---> 'aaabba*c*'
'aaabbccaa' ---> 'aaabbcca*'匹配的时候a b c的顺序要是从a到b到c。
根据最后出现a b c的情况来定。
var b = /b(?=[^ab]*$)/;
var a = /a(?=[^a]*$)/;
var array = ['aaaabbbcc','123a123b111c','啊a不b的c','aaabbbaacc','aaabbccaa'];
for(var i = 0 ; i < array.length ; i ++)
{
array[i]=array[i].replace(c,"*");
array[i]=array[i].replace(b,"*");
array[i]=array[i].replace(a,"*");
}
document.write(array.join(","))水平有限 , 用一个正则想不出来怎么搞 如果没有更好的解决方法 就将就着用用看吧
'aaabbbaacc' ---> 'aaabba*c*' //为什么不是 'aa*bb*a*c*'
'aaabbccaa' ---> 'aaabbcca*' //为什么不是 'aa*b*c*a*'
<body>
<script type="text/javascript">
var obj=/([abc])(?!.*\1)/gi;
var ss = "23d2asavck22b3cd";
alert(ss.replace(obj,"*"));
</script>
</body>
</html>
<body>
<script type="text/javascript">
var obj=/([abc])(?!.*\1)/g;
var ss = "23d2asavck22b3cd";
alert(ss.replace(obj,"*"));
</script>
</body>
</html>
var reg = /a(?=[^a]*$)|b(?=[^ab]*$)|c(?=[^abc]*$)/g;
for (var i in str) {
alert(str[i].replace(reg, '*'));
}
难不住哥的
这里的a b c应该是依序出现吧?
正解奉上:)<script type="text/javascript">
var r=/(\S*)a(\S*)b(\S*)c(\S*)$/;
var a=[
'aaaabbbcc',// ---> 'aaa*bb*c*'
'123a123b111c',// ---> '123*123*111*'
'啊a不b的c',// ---> '啊*不*的*'
'aaabbbaacc',// ---> 'aaabba*c*'
'aaabbccaa',// ---> 'aaabbcca*'
];
for(s in a)
{
document.writeln(s,':',a[s],'-->',a[s].replace(r,'$1*$2*$3*$4'),'<br>');
}
</script>运行结果应该是这样的吧:
0:aaaabbbcc-->aaa*bb*c*
1:123a123b111c-->123*123*111*
2:啊a不b的c-->啊*不*的*
3:aaabbbaacc-->aa*bb*aac*
4:aaabbccaa-->aa*b*c*aa