javascript - 反向正则表达式匹配

标签 javascript regex reverse

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

我现在的正则表达式:

/{.*?}/g
  • 文字:Blah blah {你好}世界{1010}。
  • 匹配:["{ hello }", "{ 1010 }"]

我需要什么:

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

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

最佳答案

您可以轻松地使其与使用 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))

关于javascript - 反向正则表达式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61562167/

相关文章:

java - 自定义字符串反转 Java

javascript - 我如何使用 JQuery 为按钮标签设置类似过渡的计数器

javascript - 在 Forge Viewer 中第二次之后扩展不会加载

javascript - 动态删除动态添加的输入(类型=文件)

json - 如何在 bash 中用\"替换 JSON 文件中的引号?

java - 使用java正则表达式解析json数据

javascript - Bootstrap 模式未按我的要求显示

javascript - Jquery/Regex 不适用于 val/var?

django-cms:apphooks 使用的 url 不适用于 reverse() 或 {% url %}

linux - 在 Bash 中反转二进制数