在 javascript 中,我有这样一段 HTML:
<h2>{title}</h2>
<p><a href="{url}">{content}</a></p>
我正在尝试使用正则表达式“匹配”来吐出所有 {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);
关于javascript - 正则表达式匹配用大括号包裹的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/296230/