javascript - 如何在 JavaScript 中将变量传递到 regExp 对象并使其工作

标签 javascript regex match

我有一个无法解决的问题。假设我有一个保留 regExp 模式的变量,该变量由用户提供:

var pattern = this.state.regExpVal;

我还有一个变量来保存 textInput 的值,这意味着一些文本,例如邮政编码。

var str = this.state.textAreaVal;

我创建一个新的 regExp 对象:

var myRegEx = new RegExp(pattern, 'g');

结果不太好:(似乎全局标志搜索不起作用,我不明白为什么);

var result = str.match(myRegEx);

有人可以帮忙吗?

最佳答案

let reg = new RegExp("super", 'g');
"SOsuperISsuper!".match(reg);

结果是一个具有 2 个元素的数组 ["super","super"] 正如预期的那样。

我猜问题出在您的 this 一些 未定义 null 值或区分大小写(尝试包含“i”)

编辑:

let myObject = {
    state: {
     regExpVal: "super"
    }
}
let reg = new RegExp(myObject.state.regExpVal, 'g');
"SOsuperISsuper!".match(reg);

编辑2:

let myObject = {
    state: {
     regExpVal: "super"
       }
   };
let pattern = myObject.state.regExpVal;
let reg = new RegExp(pattern, 'g');
"SOsuperISsuper!".match(reg);

关于javascript - 如何在 JavaScript 中将变量传递到 regExp 对象并使其工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42982714/

相关文章:

javascript - Python BeautifulSoup - 获取没有子元素的元素

javascript - 验证器 Node 模块中出现类型错误

python - 根据另一列匹配部分文本

javascript - 协助在 Javascript 中连接四极小极大算法

php - 从 PHP foreach 循环获取 Ajax 变量

regex - 无法使用 sed 正则表达式删除空行

JavaScript 正则表达式

javascript - 正则表达式在测试中获取一些 JSON

Java 正则表达式 : check if a sentence contains only alphabet and numbers

javascript - .匹配特定模式