Javascript 反向正则表达式匹配

Javascript 反向正则表达式匹配,javascript,regex,reverse,Javascript,Regex,Reverse,我得到的正则表达式匹配了{}括号中的所有内容,但我想反转它,所以它确实匹配了任何内容,{}中的文本除外 我的正则表达式现在: /{.*?}/g text:废话废话{hello}世界{1010} 匹配:[“{hello}”,“{1010}”] 我需要的是: text:废话废话{hello}世界{1010} 匹配:[“废话”,“世界”] 谢谢你的建议。:) 使用String#split和一个过滤器,您可以很容易地使用您拥有的正则表达式 String#split可以接受一个正则表达式,然后将

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

我的正则表达式现在:

/{.*?}/g
  • text:废话废话{hello}世界{1010}
  • 匹配
    [“{hello}”,“{1010}”]
我需要的是:

  • text:废话废话{hello}世界{1010}
  • 匹配
    [“废话”,“世界”]

谢谢你的建议。:)

使用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))
这是吗?
s.split(/{.*?}/)