【问题标题】:Reverse RegEx match [duplicate]反向正则表达式匹配[重复]
【发布时间】:2020-05-02 15:50:20
【问题描述】:

我得到了匹配 { } 括号中所有内容的正则表达式,但我想反转它,所以它确实匹配任何内容,except 文本在 { } 中。

我现在的正则表达式:

/{.*?}/g
  • 文本:废话{你好}世界{1010}。
  • 匹配["{ hello }", "{ 1010 }"]

我需要什么:

  • 文本:废话{你好}世界{1010}。
  • 匹配["Blah blah ", " world "]

感谢您的每一个建议。 :)

【问题讨论】:

标签: javascript regex reverse


【解决方案1】:

您可以使用 String#split 和过滤器轻松使用您拥有的正则表达式

String#split 可以采用正则表达式,然后将您的字符串拆分为一个数组。过滤器是由于末尾的空值,因为字符串末尾有一个 {}。

我为您设置了一个演示,但我将正则表达式修改为 /{[^}\n]*}/g,以便它不需要非贪婪量词。

const regex = /{[^}\n]*}/g;
const text1 = 'Blah blah { hello } world { 1010 }'

console.log(text1.split(regex).filter(val => val))

【讨论】:

    猜你喜欢
    • 2020-07-02
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 2016-04-06
    • 1970-01-01
    相关资源
    最近更新 更多