https://til.hashrocket.com/posts/9zneks2cbv-multiline-matches-with-ripgrep-rg
$ echo 'apple\norange\nbanana\nkiwi' | rg 'orange.*kiwi'
⇒ マッチしない
$ echo 'apple\norange\nbanana\nkiwi' | rg --multiline 'orange.*kiwi'
⇒ マッチしない
.
が \n
にマッチしないため。
dot all
modifier = (?s)
をつかう
$ echo 'apple\norange\nbanana\nkiwi' | rg --multiline '(?s)orange.*kiwi'
orange
banana
kiwi
⇒ マッチする
--multiline-dotall
でもよい
$ echo 'apple\norange\nbanana\nkiwi' | rg --multiline --multiline-dotall 'orange.*kiwi'
orange
banana
kiwi