相关疑难解决方法(0)

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

我想在JavaScript中创建一个String.replaceAll()方法,我认为使用RegEx将是最简洁的方法.但是,我无法弄清楚如何将变量传递给RegEx.我已经可以做到这一点,它将用"A"替换所有"B"的实例.

"ABABAB".replace(/B/g, "A");
Run Code Online (Sandbox Code Playgroud)

但我想做这样的事情:

String.prototype.replaceAll = function(replaceThis, withThis) {
    this.replace(/replaceThis/g, withThis);
};
Run Code Online (Sandbox Code Playgroud)

但显然这只会替换文本"replaceThis"...所以如何将此变量传递给我的RegEx字符串?

javascript regex

1250
推荐指数
13
解决办法
68万
查看次数

Javascript中是否有RegExp.escape函数?

我只想用任何可能的字符串创建一个正则表达式.

var usersString = "Hello?!*`~World()[]";
var expression = new RegExp(RegExp.escape(usersString))
var matches = "Hello".match(expression);
Run Code Online (Sandbox Code Playgroud)

有内置的方法吗?如果没有,人们会用什么?Ruby有RegExp.escape.我觉得我不需要自己编写,那里必须有标准的东西.谢谢!

javascript regex

404
推荐指数
10
解决办法
10万
查看次数

在javascript中将变量传递给regexp

可能重复:
用于Javascript正则表达式的转义字符串

我有这样的消息:

{1}允许最多{0}个字符

我有一个函数来使用传递的参数创建一个消息

for(var i = 0; i < agrs.length; i++){
    reg = new RegExp('\{'+i+'\}', 'gi');
    key = key.replace(reg,agrs[i])
}
Run Code Online (Sandbox Code Playgroud)

问题是它无法使用参数i创建reg exp.

有什么办法实现这个目标?

javascript regex

43
推荐指数
2
解决办法
5万
查看次数

使用javascript在两个字符串之间获取字符串

如何使用与变量匹配在两个字符串之间获取字符串?如果我使用匹配字符串正则表达式来获取Javascript中的两个字符串之间的字符串 我也尝试在JavaScript中应用信息- 在字符串匹配中使用变量:

var test = "My cow always gives milk";

var testRE = test.match("cow(.*)milk");
alert(testRE[1]);
Run Code Online (Sandbox Code Playgroud)

但如果我有:

var firstvariable = "cow";
var secondvariable = "milk";

var test = "My cow always gives milk";
Run Code Online (Sandbox Code Playgroud)

我尝试过各种各样的事情,包括:

var testRE = test.match("firstvariable(.*)secondvariable");
alert(testRE[1]);
Run Code Online (Sandbox Code Playgroud)

和:

var testRE = testRE.match + '("' + firstvariable + "(.*)" + secondvariable +'")';
alert(testRE[1]);
Run Code Online (Sandbox Code Playgroud)

都没有奏效.

javascript regex string

21
推荐指数
2
解决办法
4万
查看次数

如何在Javascript中的regex表达式中包含变量?

可能重复:
Javascript正则表达式:如何将变量放在正则表达式中?

我在sinon.js fakeServer响应中使用以下作为regex pattnern :

/https:\/\/ca-davstorage:8080\/myFile.json(\?.*|$)/
Run Code Online (Sandbox Code Playgroud)

我想myFile用变量替换,但由于我不是很擅长正则表达式,所以我很难让它发挥作用.目前我有这个,但似乎没有用.

'https:\\/\\/ca-davstorage:8080\\/'+myFile+'.json(\\?.*|$)/'
Run Code Online (Sandbox Code Playgroud)

问题:
如何正确地将变量添加到正则表达式?

感谢帮助!

javascript regex variables

2
推荐指数
1
解决办法
461
查看次数

标签 统计

javascript ×5

regex ×5

string ×1

variables ×1