反向RegEx匹配[重复]

问题描述 投票:0回答:1

我得到了regex匹配的一切在 { } 括号里,但我想把它反过来,所以它确实匹配任何东西。除了 内文 { }.

我的regex了。

/{.*?}/g
  • 文本: Blah blah { hello } world { 1010 }.
  • 匹配: ["{ hello }", "{ 1010 }"]

我需要什么。

  • 文本: Blah blah { hello } world { 1010 }.
  • 匹配: ["Blah blah ", " world "]

谢谢大家的建议 :)

javascript regex reverse
1个回答
0
投票

你可以使用String#split和一个过滤器,很容易地让它和你的regex一起工作。

String#split可以取一个regex,然后将你的字符串分割成一个数组,filter是由于最后的空值,因为字符串的最后有一个{}。

我为你设置了一个演示,但我修改了regex,变成了 /{[^}\n]*}/g 以便它不需要非贪婪的量化器。

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

console.log(text1.split(regex).filter(val => val))
© www.soinside.com 2019 - 2024. All rights reserved.