JavaScriptの正規表現で [\s\S]* と .* の間に違いはあるのでしょうか?


githubを見ていたらJavaScriptで任意の文字にマッチする(と思われる)正規表現で [\s\S]* が使われているプロジェクトが結構ありました。
個人的には任意の文字にマッチする場合、 .* を使用しているのですが、 [\s\S]* には何か利点や違いがあるのでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/05/11 13:08:03
  • 終了:2012/05/11 13:24:51

ベストアンサー

id:aetos382 No.1

あえとす回答回数1ベストアンサー獲得回数12012/05/11 13:20:47

ポイント100pt

試してみたところ、/.*/ は改行にマッチしませんでしたが、/[\s\S]*/ は改行を含む文字列全体にマッチしました(Win7 WSH5.8)。

id:sheile

まさにその通りでした。
こっちはV8で確認。

言語によっては複数行マッチのオプション(m)を付けることで、改行コードにもマッチするようですが、JavaScriptはオプション付けてもマッチしないですね。

2012/05/11 13:31:02
id:aetos382

m オプションは ^ と $ の挙動を変えるためのもので、改行にマッチするわけではないんですね。

2012/05/11 13:53:38

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません