5

誰かが私にその意味を説明\\A\\zてもらえますか?エスケープされているため、この正規表現では特別な意味があると思います(ただし、間違っている可能性があり、それぞれAとzを表す可能性があります)。ありがとう!

private static final Pattern PATTERN = Pattern.compile("\\A(\\d+)\\.(\\d+)\\z");
4

3 に答える 3

12

\A「文字列の始まり」を\z意味し、「文字列の終わり」を意味します。

^このコンテキストで見たことがあるかもしれませんが$、その意味はさまざまです。を使用して正規表現をコンパイルするとPattern.MULTILINE、意味が「行の先頭」と「行の終わり」に変わります。の意味\A\z決して変わらない。

\Zまた、「末尾の改行の前の文字列の終わり」を意味するものもあります。これ$は、複数行モード(行末の改行文字がある場合はその直前に一致する)の場合と同様です。

于 2012-09-19T17:58:10.377 に答える
4

このJava式:

Pattern.compile("\\A(\\d+)\\.(\\d+)\\z")

この正規表現を生成します:

\A(\d+)\.(\d+)\z

ここで、\Aは「文字列の開始」を\z意味し、「文字列の終了」を意味します。

したがって、そのパターンは、1つ以上の数字、小数点、および1つ以上の数字で構成される任意の文字列と一致します。

Java正規表現表記のすべての側面の詳細については、Javadocforをjava.util.regex.Pattern参照してください。

于 2012-09-19T17:58:53.160 に答える
1

このリファレンスをチェックしてください

http://www.regular-expressions.info/reference.html

それに応じて\A、入力の開始と\z一致し、入力の終了と一致します。

\\彼らが1つではなく彼らの前にいる理由は\\も逃げているからです。

于 2012-09-19T18:01:16.537 に答える