正则表达式 - 匹配特定语法并将它们拆分

我需要匹配特定的正则表达式语法并将它们拆分,以便我们可以将它们与字典中的等效值匹配。


输入:


{Expr "string"}

{Expr "string"}{Expr}

当前代码:


value.match(/\{.*\}$/g)

期望的输出:


[{Expr "string"}]

[{Expr "string"},{Expr}]


喵喵时光机
浏览 104回答 2
2回答

达令说

使用非贪婪量词.*?。并且不要使用$, 因为这会强制它一直匹配到字符串的末尾。value = '{Expr "string"}{Expr}'console.log(value.match(/\{.*?\}/g));

扬帆大鱼

假设您的 JavaScript 版本支持它,一种选择是将输入拆分为以下正则表达式模式:(?<=\})(?=\{)这表示在两个术语之间的每个连接处拆分}{。var input = "{Expr \"string\"}{Expr}";var parts = input.split(/(?<=\})(?=\{)/);console.log(parts);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript