不确定我在哪里做错了.我有一个字符串,如测试(123x),我试图找到(123x)并替换它什么都没有:
这是我的代码
<script type="text/javascript">
var original = "Test (1x)";
var newString = original.replace(new RegExp("\(\d{1,6}[x]{1}\)",original),"");
console.log(newString);
</script>
Run Code Online (Sandbox Code Playgroud)
我已经测试了正则表达式模式并且它正确匹配,但是,当我登录到控制台时,它不是用""替换(1x)
您应尽可能使用RegExp文字:
var original = "Test (1x)";
var newString = original.replace(/\(\d{1,6}[x]{1}\)/,"");
Run Code Online (Sandbox Code Playgroud)
您的尝试失败,因为"\(\d{1,6}[x]{1}\)"解释为"(d{1,6}[x]{1})"(\?简单地剥离未知的转义序列).你也需要逃脱\:
new RegExp("\\(\\d{1,6}[x]{1}\\)",original)
Run Code Online (Sandbox Code Playgroud)
除此之外,RegExp构造函数的第二个参数用于标志(g= global replace,i=不区分大小写等).
| 归档时间: |
|
| 查看次数: |
2761 次 |
| 最近记录: |