0
我會感謝有關這個問題的任何意見。即使表達式正常,regexp「match」突然返回nil?
我有一個正則表達式,應該從字符串中收集一些數據。 表達如下:
/\[QUOTE\=(p|c)\|(\d+)\](.*)\[\/QUOTE\]/
我使用可以看起來像字符串:
[QUOTE=c|223]ContentText[/QUOTE]
我用這個代碼片段:
regexp = /\[QUOTE\=(p|c)\|(\d+)\](.*)\[\/QUOTE\]/
data = regexp.match(str)
其中str
是字符串獲得:
1: c , 2: 223, 3: ContentText
match
只返回零。如果我通過rubular.com使用相同的字符串運行相同的正則表達式,我會得到我想要的結果。我也嘗試過撥打match
的任何方式,但它沒有幫助。
我誤解了match
函數嗎?我究竟做錯了什麼?
我沒有得到零運行此使用irb。你如何將字符串分配給str?你使用的是什麼ruby版本? – Christian
運行2.0.0p195,字符串被髮送到我的方法:render_quotes(c.content)。上面的代碼是在該方法中運行的第一件事。 (render_quotes是我的方法的名稱。)我一直在better_errors中檢查它,一切都按順序,除了返回.. – Svennisen
[模式很好](http://rubular.com/r/8zUaTmUMOG)。您提供的簡單示例代碼和數據適用於Ruby v2.1.1。我們需要能夠複製問題來幫助您。 –