【发布时间】:2013-10-29 13:38:56
【问题描述】:
我有这个字符串:
var a='abc123#xyz123';
我想构建 2 个正则表达式替换函数:
1) 将所有确实有未来'#'的字符替换为'*'(不包括'#')
所以结果应该是这样的:
'******#xyz123'
2) 将所有不有未来'#'的字符替换为'*'(不包括'#')
所以结果应该是这样的:
'abc123#******'
我尝试了什么:
var a='abc123#xyz123';
alert(a.replace(/(.+(?=#))+/ig,'*')); //*#xyz123 --wrong result since it is greedy...
问题:
如何让我的正则表达式按预期工作?
【问题讨论】:
-
换句话说,您想用
*替换除#之外的所有字符? -
@CasimiretHippolyte 根据未来出现/不出现 '#' 使用正则表达式。是的。
标签: javascript regex