3
我在讀一個regex group matching問題,我看到有從正則表達式表達,即參比捕獲基團兩種方式,Ruby - 提取正則表達式捕獲組的最佳方式?
- Match字符串的方法例如
string.match(/(^.*)(:)(.*)/i).captures
- 的Perl式的捕獲組變量,例如從
if match =~ /(^.*)(:)(.*)/i
- 更新獲得$ 1,$ 2等:正如0xCAFEBABE提到有第三種選擇太 - last_match方法
哪個更好?有了1),爲了安全起見,你將不得不使用if語句來防範nils,爲什麼不直接提取信息?而不是第二步調用字符串捕獲方法。所以選項2)對我來說更加方便。
甚至有第三個:[RegExp.last_match](http://www.ruby-doc.org/core-2.0/Regexp.html#method-c-last_match)。哦,timtowtdi。 – 0xCAFEBABE
沒有'Match'類。你可能是指'MatchData'類。 – sawa
@sawa我不好,這是一個字符串方法,我已經更新了這個問題。 –