誰かが私にその意味を説明\\A
し\\z
てもらえますか?エスケープされているため、この正規表現では特別な意味があると思います(ただし、間違っている可能性があり、それぞれAとzを表す可能性があります)。ありがとう!
private static final Pattern PATTERN = Pattern.compile("\\A(\\d+)\\.(\\d+)\\z");
\A
「文字列の始まり」を\z
意味し、「文字列の終わり」を意味します。
^
このコンテキストで見たことがあるかもしれませんが$
、その意味はさまざまです。を使用して正規表現をコンパイルするとPattern.MULTILINE
、意味が「行の先頭」と「行の終わり」に変わります。の意味\A
と\z
決して変わらない。
\Z
また、「末尾の改行の前の文字列の終わり」を意味するものもあります。これ$
は、複数行モード(行末の改行文字がある場合はその直前に一致する)の場合と同様です。
このJava式:
Pattern.compile("\\A(\\d+)\\.(\\d+)\\z")
この正規表現を生成します:
\A(\d+)\.(\d+)\z
ここで、\A
は「文字列の開始」を\z
意味し、「文字列の終了」を意味します。
したがって、そのパターンは、1つ以上の数字、小数点、および1つ以上の数字で構成される任意の文字列と一致します。
Java正規表現表記のすべての側面の詳細については、Javadocforをjava.util.regex.Pattern
参照してください。
このリファレンスをチェックしてください
http://www.regular-expressions.info/reference.html
それに応じて\A
、入力の開始と\z
一致し、入力の終了と一致します。
\\
彼らが1つではなく彼らの前にいる理由は\
、\
も逃げているからです。