我在使用正則運算式時遇到了一些問題
這是代碼:
var interpolate = /\{ .* \}/g
var data = "{ name } { roll } data { app }"
console.log(data.match(interpolate))
我希望輸出是["{ name }", "{ roll }", "{ app }"]
但是當我實際運行它時,我得到了完整的字串作為輸出,
IE:
[Running] node "/home/mayukh/Desktop/Projects/tests/regular.js"
[ '{ } { roll } data { app }' ]
我不知道到底發生了什么。
uj5u.com熱心網友回復:
使點懶惰并使用.*?而不是.*:
var interpolate = /\{ .*? \}/g
var data = "{ name } { roll } data { app }";
console.log(data.match(interpolate))
regex 術語.*是貪婪的,默認情況下將匹配所有術語,直到最終結束}。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/379261.html
標籤:javascript 节点.js 数组 正则表达式 比赛
