能有人請解釋的\\A
和\\z
我的意思嗎?我假設他們在這個正則表達式中有特殊含義,因爲他們正在逃脫(但我可能是錯的,他們可能分別代表A和z)。謝謝!Java的正則表達式說明
private static final Pattern PATTERN = Pattern.compile("\\A(\\d+)\\.(\\d+)\\z");
能有人請解釋的\\A
和\\z
我的意思嗎?我假設他們在這個正則表達式中有特殊含義,因爲他們正在逃脫(但我可能是錯的,他們可能分別代表A和z)。謝謝!Java的正則表達式說明
private static final Pattern PATTERN = Pattern.compile("\\A(\\d+)\\.(\\d+)\\z");
\A
意思是 「串開始」,和\z
意思是 「字符串的末尾」。
你可能已經看到在這方面^
和$
,但它們的含義可以有所不同:如果您編譯使用Pattern.MULTILINE
一個正則表達式,那麼他們改變自己的意思爲「行首」和「行結束」。 \A
和\z
的含義從不改變。
也存在\Z
這意味着「字符串的結尾,任何尾隨的換行符之前」,這是類似於$
確實在多行模式(在那裏的行結束換行符前右相匹配,如果它的存在)。
我正要問,\ A和\ z是否與^和$相似。謝謝你的解釋! –
該Java表達式:
Pattern.compile("\\A(\\d+)\\.(\\d+)\\z")
產生此正則表達式:
\A(\d+)\.(\d+)\z
其中\A
指 「啓動的串」 和\z
表示 「結束字符串」。
因此,該模式由一個或多個數字的任何字符串,加上一個小數點,加上一個或多個數字相匹配。
有關Java正則表達式表示法的各個方面的詳細信息,請參閱the Javadoc for java.util.regex.Pattern
。
退房根據該\A
此參考
http://www.regular-expressions.info/reference.html
輸入的開始一致,\z
輸入的結束相匹配。
之所以他們之前有\\
而不是1 \
是因爲\
也被轉義了。
入住這裏:http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html – Vikdor
感謝您的聯繫! –
您需要雙反斜槓,因爲在Java中,單個反斜槓會轉義下一個字符。所以要實現\ A你需要\\ A。這是Java的方式:) –