当前位置: 首页 > 面试题库 >

JavaScript如何在正则表达式中使用变量?

锺离浩慨
2023-03-14
问题内容

我想String.replaceAll()在JavaScript中创建一个方法,并且我认为使用正则表达式是最简洁的方法。但是,我不知道如何将变量传递给正则表达式。我能做到这一点已经将取代所有的实例"B""A"

"ABABAB".replace(/B/g, "A");

但是我想做这样的事情:

String.prototype.replaceAll = function(replaceThis, withThis) {
    this.replace(/replaceThis/g, withThis);
};

但是显然这只会替换文本"replaceThis"…所以如何将这个变量传递给我的正则表达式字符串?


问题答案:

代替使用/regex/g语法,可以构造一个新的RegExp对象:

var replace = "regex";
var re = new RegExp(replace,"g");

您可以通过这种方式动态创建正则表达式对象。然后,您将执行以下操作:

"mystring".replace(re, "newstring");


 类似资料:
  • 问题内容: 我想在内部使用,该怎么办Python? 问题答案: 从python 3.6开始,你还可以使用文字字符串插值。在你的特定情况下,解决方案是:

  • 问题内容: var ss= “ ddd”; var arr= ss.match( /<pre.*?<\/pre>/gm ); alert(arr); // null 我希望可以拾取PRE块,即使它跨越换行符也是如此。我以为’m’标志可以做到。才不是。 所以解决方案是: 有谁不那么神秘吗? 编辑:这是重复的,但是由于它比我的更难找到,因此我不会删除。 它建议作为“多行点”。我仍然不明白的是为什么不起

  • 问题内容: 我有一个字符串A,想测试另一个字符串B是否不属于其中。这是一个非常简单的正则表达式,其结果随后可以反转。 我可以做: 然后将其反转,如下所示: 我的问题是,我需要在正则表达式中执行此操作,而不要使用它们的结果。就像是: (不起作用) 换句话说:正则表达式应该测试是否存在,并在这种情况下返回true。 JavaScript有可能吗? 问题答案: 尝试: (简短)说明: 因此,用简单的英语

  • 本文向大家介绍如何在TestNG中使用正则表达式?,包括了如何在TestNG中使用正则表达式?的使用技巧和注意事项,需要的朋友参考一下 我们在TestNG中使用正则表达式来使用以某种模式命名的一组测试方法。 示例 Testng xml文件。 所有名称开头为Payment的测试方法都将从回归套件中排除。 示例 Login()将被执行,但是所有以名字Payment开头的方法都将被排除在执行之外。这是使

  • 问题内容: 因此,例如: 但这当然是行不通的:)有什么办法可以做到这一点? 问题答案: 更新资料 根据一些评论,请务必注意,如果可能存在恶意内容(例如,变量来自用户输入),则可能需要转义该 变量 ES6更新 在2019年,这通常使用模板字符串编写,并且上面的代码已更新。最初的答案是:

  • 问题内容: 我目前正在将Web应用程序代码从PHP移植到JS。 我对此正则表达式有疑问。从PHP 这样使用 如何将其转换为在JS上工作? 先感谢您 问题答案: 没什么特别的。PHP regex语法与JavaScript中的语法非常相似: 您可以从 MDN的 本手册中找到有关JavaScript 中正 则表达式的更多信息:https : //developer.mozilla.org/en- US/