使用 ag 进行多行正则表达式搜索

k23*_*3j4 5 regex ag

我想通过正则表达式和 ag(the_silver_searcher) 在文件中的特定多行范围内“AND”搜索文本。但正则表达式模式不起作用。

遵循正则表达式模式效果很好。

ag --multiline -G "^.*\.(md|txt)$" -C 1 -S "foo(\n|.)*baz" ./dev_note.md

(输出)

40-
41:foo
42:bar
43:baz
44-
Run Code Online (Sandbox Code Playgroud)

但遵循正则表达式模式将不会输出任何内容。(不匹配)

ag --multiline -G "^.*\.(md|txt)$" -C 1 -S "(?=(.|\n)*(foo))(?=(.|\n)*(baz))" ./dev_note.md

我也尝试过:ag --multiline -G "^.*\.(md|txt)$" -C 1 -S "(?=(.|\n)*(foo))(.|\n)*(?=(.|\n)*(baz))" ./dev_note.md