是的,Ruby中的正則表達式可以處理多行文本。在Ruby中,要處理多行文本,需要在正則表達式的開頭和結尾分別添加/m
修飾符。這個修飾符表示“多行模式”,它會讓正則表達式在處理文本時考慮每一行文本的換行符。
例如,假設我們有一個包含多行文本的文件,我們想要在其中查找所有的“apple”單詞,可以使用以下代碼:
text = <<-TEXT
Apple is a fruit.
I like to eat apples.
Apple is healthy.
TEXT
pattern = /apple/m
matches = text.scan(pattern)
puts matches.inspect
在這個例子中,/apple/m
是一個正則表達式,用于匹配“apple”單詞。m
修飾符表示這是一個多行模式的正則表達式。text.scan(pattern)
方法會返回一個包含所有匹配項的數組。在這個例子中,輸出結果應該是["Apple", "apples"]
。