26

私は正規表現の分野に非常に慣れていません。最近、html タグに一致させることができる Powershell の正規表現を検索したところ、このサイトで以下を見つけました。

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

(?s) の意味について、すべての正規表現のリファレンスと本 (Perl と Powershell) を探していましたが、運がありませんでした。状態のように見えますが、then の部分がありません。

誰かがこれの意味について正しい方向に私を向けることができますか?

ありがとう

4

2 に答える 2

25

正規表現リファレンスサイトによると。

正規表現の残りの部分で「ドットが改行に一致」をオンにします。(古い正規表現フレーバーでは、正規表現全体に対して有効になる場合があります。)

于 2012-06-07T08:07:16.907 に答える
2

「?」1 つまたは 0 つの一致を意味します。"?s" はドット マッチング改行を有効にします。ピリオドは通常、任意の文字に一致するワイルドカードです。改行は保存してください。

于 2012-06-07T08:10:59.033 に答える