2015-08-25 140 views
4

我想了解Java將如何解釋Java正則表達式與10+組

(one)(one)(one)(one)(one)(one)(one)(one)(one)(one)(two)\11 

它會嘗試匹配第一組,並在年底字面1還是會嘗試匹配第11組?我怎麼能匹配第11組?

+0

我試圖改寫和澄清你的問題,如果我誤解了道歉。 – dimo414

回答

2

Java的正則表達式是:

"(one)(one)(one)(one)(one)(one)(one)(one)(one)(one)(two)\\11" 

它將匹配11捕獲組。

作爲每Javadoc中:

在Perl中,\ 1到\ 9始終被解釋爲反向引用;如果至少存在多個子表達式,則大於9的反斜槓轉義數字將被視爲反向引用,否則會在可能的情況下將其解釋爲八進制轉義。在這個類中,八進制轉義符必須始終以零開頭。在這個類中,\ 1到\ 9總是被解釋爲反向引用,如果在正則表達式中至少有那麼多個子表達式存在,那麼將會接受一個更大的數字作爲反向引用,否則解析器將丟棄數字,直到數字小於或等於現有的組數或者是一位數。