在javascript中,我有一个像这样的HTML块:
{title}
我正在尝试使用正则表达式"匹配"来吐出所有{item}的数组.所以我的输出应该是这样的:
['title', 'url', 'content']
我已经达到了:
var pattern = new RegExp("\{[a-zA-Z]+\}+"); var match = pattern.exec("{Sample} bob {text}");
但它只返回第一个标签.
这超出了我的正则表达能力.有人可以帮忙吗?
干杯!
您需要使用全局标志创建模式:
var pattern = new RegExp("\{[a-zA-Z]+\}", "g");
要么:
var pattern = /\{[a-zA-Z]+\}/g;
然后,您可以在字符串上调用match()方法以获取匹配列表:
var matches = "{Sample} bob {text}".match(pattern);