2015-08-25 154 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总是被解释为反向引用,如果在正则表达式中至少有那么多个子表达式存在,那么将会接受一个更大的数字作为反向引用,否则解析器将丢弃数字,直到数字小于或等于现有的组数或者是一位数。