正则表达式选择多行

时间:2015-01-23 07:45:18

标签: regex

我有一个包含多行的文本文件。没有段落只有行。

我需要编写一个正则表达式来选择多行。

实施例。

Quick Black Fox
Jumps over the lazy 
dog

我需要搜索“结束”。如果找到'over',我必须从'Quick'到'dog'中选择。这可能吗。

4 个答案:

答案 0 :(得分:1)

使用(?s) DOTALL修饰符制作点以匹配换行符。

(?s)Quick.*?over.*?dog

OR

如有必要,添加字边界\b\b匹配单词字符和非单词字符。

(?s)\bQuick\b.*?\bover\b.*?\bdog\b

OR

如果您正在运行javascript,[\s\S]*?会匹配任何字符,包括换行符。请注意,js中没有dotall修饰符s

\bQuick\b[\s\S]*?\bover\b[\s\S]*?\bdog\b

DEMO

答案 1 :(得分:1)

如果你使用像JavaScript这样没有 s 修饰符的语言,这是另一种方法:

(.|\n)*over(.|\n)*

这里有效:https://regex101.com/r/oH9cH7/2

答案 2 :(得分:0)

/.*/s

后面的s表示正则表达式匹配新行。

答案 3 :(得分:0)

这是

之一
Quick\(.\|\n\)*? over \(.\|\n\)*