javascript - 如何将正则表达式转换为动态?
问题描述
我有一个正则表达式,可以让我在没有空格的长文本中找到特定的文本,现在我想动态地使用它来查找不同的单词,尝试将它传递给 dynamic 但我无法让它工作。
https://regex101.com/r/z7mor0/1
const rt = "8.469.505-k"
const ex = '/\b(\w*'+ rt +'\w*)\b/g'
const cleanT = text.replace(/ /g, "")
if( cleanT.match(new RegExp(ex, 'g')) ){
console.log("si encontro")
}
解决方案
该字符串不应包含全局标志。它不应该有正则表达式的开始和结束。它也应该有 \ 转义
const ex = '\\b(\\w*'+ rt +'\\w*)\\b'
此外,您需要确保 rt 没有任何会使 reg exp 无效的东西。就像.
将匹配任何字符一样。
推荐阅读
- javascript - 如何在角度 8.1 中隐藏 Highcharts 的“showInLegend”?
- kubernetes - Kubernetes 上的 cpu 和 gpu 资源配额
- android - 如何在android中使这种类型设计任何人都知道
- mailgun - 我可以使用 mailgun 发送电子邮件的最大 SMTP 线程数是多少
- php - 如何按键转换 Laravel 集合?
- stackexchange.redis - .NetFramework 4.0 是否支持最新版本的 StackExcahnge.Redis?
- matlab - 从 Matlab 上的另一个文件调用子函数(本地函数)
- testing - 使用 Botium 进行聊天机器人测试
- jquery - 通过 AJAX 发送 JSON 格式时出现奇怪的数据形状
- git - 如何在终端中显示 git 用户(oh-my-zsh)