2011-12-10 92 views
10

我想創建一個匹配查詢,從兩個單詞之間的字符串中選擇文本。我似乎無法弄清楚如何使搜索大小寫不敏感。 例如,考慮文本:ruby​​字符串匹配忽略大小寫

contents = "cat 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec blandit feugiat mi, eu lacinia quam tincidunt eu. Donec eleifend adipiscing neque, in porta dolor vestibulum at. Curabitur id elit vitae nunc feugiat varius. Maecenas euismod euismod mi, eu blandit lectus. 
dog" 

Ruby代碼返回我的話貓與狗之間的拉丁代碼

contents.match(/cat(.*)dog/m)[1].strip 

此刻我的「匹配」的查詢只工作,如果貓狗是小寫字母,但如果貓和狗是大寫字母或第一個字母是大寫字母,我需要照顧。

不太確定粘貼/ i操作符的位置。

回答

19

旁邊的「M」:

contents.match(/cat(.*)dog/im)[1].strip 
+0

我甚至不認爲「米」做這個東西的表達。 「m」用於使'^'和'$'匹配行的開始/結束,而不是輸入的開始/結束。 – d11wtq

+1

@ d11wtq - 我剛剛在irb上試過了,它似乎有所作爲。我相信它允許的。字符匹配換行符。 –

+0

謝謝@coder_tim,沒有意識到它是那麼簡單。 – ekynox

相關問題