javascript – 正则表达式匹配括号

前端之家收集整理的这篇文章主要介绍了javascript – 正则表达式匹配括号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于模板引擎,我使用正则表达式来标识字符串中括号内的内容.例如,正则表达式需要匹配{key}或< tag>或[元素].

目前我的正则表达式如下所示:

var rx=/([\[\{<])([\s\S]+?)([\]\}>])]/;

问题是这样的正则表达式不会强制括号匹配.例如,在以下字符串中:

[{lastName},{firstName}]

正则表达式将匹配[{lastName}

有没有办法定义匹配括号?例如,如果开口括号是[那么结束括号必须是],而不是}或者>

解决方法

这样做的最好方法是分成3个正则表达式,特别是如果不同的括号可以有不同的含义,
var rx1 = /\[([^\]]+)]/;
var rx2 = /\(([^)]+)\)/;
var rx3 = /{([^}]+)}/;

这些将分别匹配由[],()和{}包围的任何文本,以及第一个匹配组中的文本.

猜你在找的JavaScript相关文章