我是JS RegExp的新手。我對以下RegExp匹配感到困惑。JS RegExp捕獲圓括號
var x = "red apple"
var y = x.match(/red|green/i)
現在y
是["red"]
。
但是如果我添加一對括號周圍red
和,使Y中
var y = x.match(/(red|green)/i)
現在,y
將成爲["red", "red"]
。我在網上搜索了https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/RegExp ,發現它是所謂的 捕獲括號。
它說For example, /(foo)/ matches and remembers 'foo' in "foo bar." The matched substring can be recalled from the resulting array's elements [1], ..., [n] or from the predefined RegExp object's properties $1, ..., $9.
但我不明白這是什麼由recalled from the resulting array's element or from predefined RegExp object's properties
是什麼意思?任何人都可以解釋嗎?謝謝!
嘗試使用全局搜索 – aviel 2014-11-22 17:05:09