JavaScript RegExp Replace
JavaScript RegExp Replace
不确定我做错了什么。我有一个字符串,比如Test(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>
我已经测试了regex模式,它匹配正确,但是,当我登录到控制台时,它并没有用"
您应该尽可能使用RegExp文字:
var original = "Test (1x)";
var newString = original.replace(/'('d{1,6}[x]{1}')/,"");
您的尝试失败,因为"'('d{1,6}[x]{1}')"
被解释为"(d{1,6}[x]{1})"
(对于未知的转义序列,'
被简单地剥离)。您还需要逃离'
:
new RegExp("''(''d{1,6}[x]{1}'')",original)
除此之外,RegExp构造函数的第二个参数用于标志(g
=全局替换,i
=不区分大小写等)。
将original
传递给RegExp
是错误的。您还必须对字符串中的每个斜杠进行转义(以便为正则表达式生成一个斜杠),因为'
是JS字符串中的转义符:
original.replace(new RegExp("''(''d{1,6}[x]{1}'')"),"");
注意,[x]{1}
与直接写入x
相同。
您也可以使用regex literal:
/'('d{1,6}x')/
相关文章:
- RegExp:匹配Javascript中除regex值之外的所有内容
- JavaScript正则表达式文本与RegExp对象
- 使用RegExp查找url中的字符
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 全局标志仅与第一个匹配项匹配的Regexp
- javascript RegExp的奇怪行为:相同的正则表达式会产生不同的结果
- 替换为javascript中的regExp
- Javascript Regexp-不接受空格,但应该接受
- Regexp javascript and replace
- Javascript replace()regexp:嵌套修饰符
- Javascript参数化字符串:replace(RegExp, function)意外分组/匹配
- JavaScript/Jquery Regexp Replace
- 在哪里可以找到Javascript的文档's`string.replace(RegExp,function)`方
- 我应该regexp吗?测试之前,我string.replace
- Javascript regExp - replace函数应该决定不替换匹配的字符串,以便让其他括号内的子匹配字符串与匹
- 为什么使用lambda的String.replace()比重复调用RegExp.exec()的while循环慢?
- JavaScript RegExp Replace
- JS验证中的regexp, replace和ToUppercase问题
- JavaScript regexp replace $0
- RegExp in replace返回匹配的字符串