正则表达式中(?s)的含义

问题描述 投票:17回答:2

我对正则表达式领域很陌生。最近,我搜索了Powershell的正则表达式,该表达式使我可以匹配html标签,并且在此站点中找到了以下内容。

$content -match '(?s)<table[^>]+width\s*=\s*"300px"\s*.*?>(.*?)</table>'

我一直在寻找所有正则表达式参考和书籍(Perl和Powershell),以了解(?s)的含义,但运气不好。它看起来像一个条件,但缺少随后的部分。

有人可以为此指出正确的方向吗?

谢谢

regex powershell expression
2个回答
19
投票

根据Regular Expressions reference site

在常规规则的其余部分中打开“点匹配换行符”表达。 (较旧的正则表达式可能会在整个正则表达式中将其打开。)


2
投票

“?”表示1或0个匹配项。 “?s”启用点匹配换行符。句点通常是通配符,可以匹配任何字符,请保存换行符。

© www.soinside.com 2019 - 2024. All rights reserved.