nologyance.net

日々のアウトプット

Javaで正規表現を扱うときの注意

エスケープを忘れない

特定の記号を文字として扱いたい場合は、バックスラッシュでエスケープする必要があります。

例えばexample(comをマッチさせたい場合、正規表現としては example¥(comのようにしてあげる必要があります。 記号によってエスケープが必要かどうかが異なるため、注意してください。

String.matches()とMatcher.find()の違い

String.matches()は与えられた正規表現が文字列全体に対して一致するかどうかを判定します。 一方でMatcher.find()は与えられた正規表現が文字列の一部に対して一致するかどうかを判定します。

つまり、aaabbbaaaという文字列があった場合

"aaabbbaaa".matches("bbb") # false Pattern.compile("bbb").matcher("aaabbbaaa").find() # true

となります。