我將正則表達式作爲用戶的輸入,並將值與該正則表達式匹配。 但是,我的問題是,我收到的輸入是一個字符串。 例如"/abc|def/i"
而我無法將其轉換爲正則表達式對象。 如果嘗試Regexp.new(string)
它避開了所有的角色,所以我得到的東西像/\/abc|def\/i/
將字符串中的正則表達式轉換爲ruby中的正則表達式對象
我能捕捉到正向之間的斜線部分使用另一個正則表達式,並用它建立一個RegExp對象。對於上面的例子,我捕獲"abc|def"
,當我做Regexp.new("abc|def")
我得到/abc|def/
這是我想要的,但我需要一種方法來也正則表達式選項(例如上面的例子中'我')在字符串中添加到ruby正則表達式對象。
我該如何做到這一點???
此外,必須有一個更簡單的方法來實現所有這一切。 任何幫助將不勝感激。
'Regexp.new'只逃脫了 「分隔符」('/')和改性劑('i')。爲什麼不讓用戶放下分隔符並分別輸入任何修飾符?看看他們是如何解決它在http://rubular.com –