gpt4 book ai didi

javascript - 如何在正则表达式中使用变量并操作变量?

转载 作者:行者123 更新时间:2023-11-30 10:59:13 27 4
gpt4 key购买 nike

我想使用 RegExp 创建一个替换函数。到目前为止,我已经做了这样的事情。

var re = new RegExp(FullName);
testBox2.value = testBox2.value.replace(/re.{13}/g," ");

所以基本上我想传递 FullName,然后使用该全名删除 fullNamefullName 之后的 13 个字符。但是这段代码似乎不起作用。

我以前做过这个,效果很好。

testBox.value =  testBox.value.replace(FullName," ");  

最佳答案

您可以创建一个 util 函数来组成正则表达式:

function composeRegexp(a, b) {
if (a instanceof RegExp) {
a = a.toString().replace(/^\//, '').replace(/\/$/, '');
}
if (b instanceof RegExp) {
b = b.toString().replace(/^\//, '').replace(/\/$/, '');
}
return new RegExp(a + b);
}

然后像这样使用它:

const composed = composeRegexp(FullName, '.{13}');

例子:

function composeRegexp(a, b) {
if (a instanceof RegExp) {
a = a.toString().replace(/^\//, '').replace(/\/$/, '');
}
if (b instanceof RegExp) {
b = b.toString().replace(/^\//, '').replace(/\/$/, '');
}
return new RegExp(a + b);
}

const composed = composeRegexp(new RegExp('a'), '{3}');

console.log(composed.test('aaa'));
console.log(composed.test('abc'));

关于javascript - 如何在正则表达式中使用变量并操作变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58594685/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com