regex 带三进制表达式的正则表达式[重复]

yhived7q  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(114)

此问题已在此处有答案

How do you use a variable in a regular expression?(27个回答)
上个月关门了。
我正在尝试创建一个正则表达式,它将接受一个三元表达式,并接受整个单词(键)是否匹配给定单词。
示例:/\b((isFlag) ? STATIC_ELEMENTS.KEY_1: STATIC_ELEMENTS.KEY_2)\b/
其中:

  • KEY_1 = 'apple'
  • KEY_2 = 'another_apple'

我需要正则表达式是这两个中的一个,这取决于isFlag:

  • /\bapple\b/
  • /\banother_apple\b/

我知道我可以使用/\b${variable}\b/,但这仅限于直接使用变量时。我需要使用一个三元运算符。
有什么建议吗?谢谢你,谢谢

bq3bfh9z

bq3bfh9z1#

你可以像下面这样使用RegExp构造函数:

const regex = new RegExp('\\b' + (isFlag ? 'apple' : 'another_apple') + '\\b')

相关问题