js正则表达式匹配两个变量之间的数据,变量为字符串
时间: 2024-04-30 11:18:17 浏览: 8
可以使用正则表达式中的反向引用来匹配两个变量之间的数据,具体方法如下:
假设要匹配变量 var1 和 var2 之间的数据,可以使用如下的正则表达式:
```javascript
var regex = new RegExp(var1 + '\\s*([\\s\\S]*?)\\s*' + var2);
```
这个正则表达式中,`\\s*` 表示匹配任意空白字符(包括换行符)零次或多次,`[\\s\\S]*?` 表示匹配任意字符(包括换行符)零次或多次,使用非贪婪模式,`([\\s\\S]*?)` 表示将匹配到的数据保存到第一个捕获组中。
然后可以使用如下的代码来获取匹配到的数据:
```javascript
var data = '';
var match = regex.exec(str);
if (match !== null) {
data = match[1];
}
```
其中,`str` 是要匹配的文本,`match[1]` 表示第一个捕获组中的数据。
完整的代码示例如下:
```javascript
var var1 = 'foo';
var var2 = 'bar';
var str = 'some text foo 123 bar more text';
var regex = new RegExp(var1 + '\\s*([\\s\\S]*?)\\s*' + var2);
var data = '';
var match = regex.exec(str);
if (match !== null) {
data = match[1];
}
console.log(data); // 输出:123
```