這是關於Ruby的正則表達式之間的一切..Ruby的正則表達式匹配的關鍵字
我有一個字符串,看起來像:
「--- \正PARSEFROMHERE anyrthing你能想象的數字特殊字符任何東西ENDPARSEFROMHERE \ n PARSEFROMHERE anyrthing你可以想象數字特殊字符任何東西ENDPARSEFROMHERE \ n「
我怎麼會匹配PARSEFROMHERE ENDPARSEFROMHERE與一些正則表達式之間的一切?
謝謝!
這是關於Ruby的正則表達式之間的一切..Ruby的正則表達式匹配的關鍵字
我有一個字符串,看起來像:
「--- \正PARSEFROMHERE anyrthing你能想象的數字特殊字符任何東西ENDPARSEFROMHERE \ n PARSEFROMHERE anyrthing你可以想象數字特殊字符任何東西ENDPARSEFROMHERE \ n「
我怎麼會匹配PARSEFROMHERE ENDPARSEFROMHERE與一些正則表達式之間的一切?
謝謝!
試試這個:
regexp = /\bPARSEFROMHERE\b(.*?)\bENDPARSEFROMHERE\b/m
一切都被存儲到反向引用1.但是,如果由於某種原因,神奇你有「不平衡」分隔符這個表達式會失敗,悲慘。
編輯:
regexp = /\sPARSEFROMHERE\s(.*?)\sENDPARSEFROMHERE\b/m
根據你的例子PARSEFROMHERE總是先,其次是空間。同去與ENDPARSEFROMHERE但這結束在\n
所以我keed字邊界錨有..
簡單,只要「ENDPARSEFROMHERE」不匹配內顯示:
PARSEFROMHERE(.+)ENDPARSEFROMHERE
沒有與此然而問題。這也將從一個ENDPARSEFROMHERE到另一個ENDPARSEFROMHERE,所以如果你的開始和結束標籤不平衡,你會遇到問題。
我可以想象新的線條在那裏,使這種表達失敗的原因有兩個。 – Qtax
在那裏說:「anyrthing你能想象的數字特殊字符的任何東西」的一部分,我可以想像,它可能會說「富酒吧fake_ENDPARSEFROMHERE巴茲」。在這種情況下應該發生什麼? –
不,PARSEFROMHERE總是以空格分隔 – Stpn
好吧,如果「anyrthing你可以想象數字特殊字符任何東西」包含「foo bar假ENDPARSEFROMHERE baz」?我知道,我的想象力非常狂野,但是你*已經*說出「你能想象到的任何東西」...... –