【问题标题】:Javascript: Is it possible to append regular expressions?Javascript:是否可以附加正则表达式?
【发布时间】:2018-01-14 15:22:38
【问题描述】:

在 Javascript 中,是否可以将正则表达式附加到另一个?我知道可以将两个正则表达式与 OR 结合起来,但我指的是将两个正则表达式附加到一个中(更多的是 AND),类似于您进行字符串算术的方式。

例如,这就是我想要的:

var postfix = /don't know/    
var x = /I / + postfix        // would now become /I don't know/
var y = /You / + postfix      // would now become /You don't know/

我想要做的是减少我需要硬编码 postfix 的位置数量,同时仍然保留 IYou,这就是为什么像 /(I|You) don't know/ 这样的东西不起作用的原因。

【问题讨论】:

  • 您只需访问正则表达式对象的.source 即可获取模式文本。例如。 var x = new RegExp('I ' + postfix.source)
  • 当你有最终形式时,为什么不连接字符串并然后将它们变成正则表达式?
  • ^^ 或者那个,如果你从不直接使用postfix

标签: javascript regex


【解决方案1】:

你可以使用.source:

var postfix = /don't know/    
var x = new RegExp(/I /.source + postfix.source) 

console.log(x)
//=> /I don't know/

var y = new RegExp(/You /.source + postfix.source)
console.log(y)
//=> /You don't know/

【讨论】:

  • 为什么要写/You /.source,而不是... 'You '
  • 因为我相信 OP 已经有 2 个正则表达式需要添加到单个正则表达式中
猜你喜欢
  • 1970-01-01
  • 2016-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-09
  • 2018-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多