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

时间:2012-06-07 08:03:23

标签: regex powershell expression

我对正则表达式领域很新。最近我搜索了一个Powershell的正则表达式,它允许我匹配一个html标签,我在这个网站上找到了以下内容。

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

我一直在寻找所有正则表达式引用和书籍(Perl和Powershell),因为(?s)的含义没有运气。它看起来像一个条件但却错过了那个部分。

有人能指出我正确的方向吗?

由于

2 个答案:

答案 0 :(得分:16)

根据Regular Expressions reference site

  

为常规的剩余部分启用“点匹配换行符”   表达。 (较旧的正则表达式可能会为整个正则表达式启用它。)

答案 1 :(得分:2)

“?”表示1或0场比赛。 “?s”启用点匹配换行符。句点通常是一个匹配任何字符的通配符,保存换行符。