如何在正则表达式中跨多行匹配任何字符?

如何在正则表达式中跨多行匹配任何字符?

例如,这个正则表达式

(.*)<FooBar>

将匹配:

abcde<FooBar>

但是如何让它在多行中匹配呢?

abcde
fghij<FooBar>


慕森王
浏览 5193回答 4
4回答

12345678_0001

这取决于语言,但应该有一个可以添加到正则表达式模式的修饰符。在PHP中它是:/(.*)<FooBar>/s最后的s使得点匹配包括换行符在内的所有字符。

月关宝盒

试试这个:((.|\n)*)<FooBar>它基本上说“任何字符或换行符”重复零次或多次。

三国纷争

如果您正在使用Eclipse搜索,则可以启用“DOTALL”选项以生成“。”&nbsp;匹配任何字符,包括行分隔符:只需在搜索字符串的开头添加“(?s)”。例:(?s).*<FooBar>
打开App,查看更多内容
随时随地看视频慕课网APP