8
なぜ[.]+
Javaの正規表現が"foo"
のテキストと一致しませんが、.+
は完全に一致します(テスト済みhere)。なぜ大かっこの中のドットはどの文字とも一致しませんか?
なぜ[.]+
Javaの正規表現が"foo"
のテキストと一致しませんが、.+
は完全に一致します(テスト済みhere)。なぜ大かっこの中のドットはどの文字とも一致しませんか?
[.]
は、.
(ドット)文字をエスケープすることに相当します。つまり、\\.
です。
文字がcharacter classに表示されると、その文字は特殊文字として失われます。
foo
にはドットが含まれていないため、一致するものはありません。一方、.+
は、すべてに一致するワイルドカードの欲張り表現です。
あなたはこれにリンクしていますか?私は常に範囲のための角括弧を使いました、エスケープのためではありません。 – yegor256
"ドットは文字クラス内のメタキャラクタではないので、バックスラッシュでエスケープする必要はありません。 - [source](http://www.regular-expressions.info/dot.html) – zb226
http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html –