如何忽略正则表达式(C++)中的换行符

How to ignore line breaks in regular expressions (C++)

本文关键字:换行符 C++ 何忽略 正则表达式      更新时间:2023-10-16

如何忽略正则表达式(C++)中的换行符。

PHP有一个修饰符"s"(单行):

$regex = "/<html>(.*)</html>/s";

如果设置了此修饰符,则模式中的点元字符将匹配所有字符,包括换行符。如果没有它,换行符将被排除在外。

例如:https://regex101.com/r/jA4tT4/1

如何使用C++?

您可以使用[sS]*来完成一个技巧。这将捕获从你想要什么到你想要什么的一切。

所以,你可以有一个像这样的正则表达式:

<html>([sS]*)</html>    // greedy
<html>([sS]*?)</html>   // ungreedy

你也可以使用任何你想要的快捷方式,如[dD][wW]

顺便说一句,如果你在解析html,我会使用html解析器来代替