1.
x x。 a a
\\ 。 \\\\。( : java , \\\\ \\, \, 1.1 , 1.1 \\, \ )
\0n 0 n (0 <= n <= 7)
\0nn 0 nn (0 <= n <= 7)
\0mnn 0 mnn(0 <= m <= 3、0 <= n <= 7)
\xhh 0x hh
\uhhhh 0x hhhh
\t ('\u0009')
( ) ('\u000A')
\r ('\u000D')
\f ('\u000C')
\a (bell) ('\u0007')
\e ('\u001B')
\cx x
2.
[abc] a、b c( )。 [egd] e、g d。
[^abc] , a、b c( )。 [^egd] e、g d。
[a-zA-Z] a z A Z, ( )
[a-d[m-p]] a d m p:[a-dm-p]( )
[a-z&&[def]] d、e f( )
[a-z&&[^bc]] a z, b c:[ad-z]( )
[a-z&&[^m-p]] a z, m p:[a-lq-z]( )
3. ( , \d \\d)
( )
\d :[0-9]
\D : [^0-9]
\s :[ \t
\x0B\f\r]
\S :[^\s]
\w :[a-zA-Z_0-9]
\W :[^\w]
4.POSIX ( US-ASCII)( , \p{Lower} \\p{Lower})
\p{Lower} :[a-z]。
\p{Upper} :[A-Z]
\p{ASCII} ASCII:[\x00-\x7F]
\p{Alpha} :[\p{Lower}\p{Upper}]
\p{Digit} :[0-9]
\p{Alnum} :[\p{Alpha}\p{Digit}]
\p{Punct} :!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph} :[\p{Alnum}\p{Punct}]
\p{Print} :[\p{Graph}\x20]
\p{Blank} :[ \t]
\p{Cntrl} :[\x00-\x1F\x7F]
\p{XDigit} :[0-9a-fA-F]
\p{Space} :[ \t
\x0B\f\r]
5.java.lang.Character ( java )
\p{javaLowerCase} java.lang.Character.isLowerCase()
\p{javaUpperCase} java.lang.Character.isUpperCase()
\p{javaWhitespace} java.lang.Character.isWhitespace()
\p{javaMirrored} java.lang.Character.isMirrored()
6.Unicode
\p{InGreek} Greek ( )
\p{Lu} ( )
\p{Sc}
\P{InGreek} ,Greek ( )
[\p{L}&&[^\p{Lu}]] , ( )
7.
^ , ^。 :^(abc) abc 。 MULTILINE, Pattern p = Pattern.compile(regex,Pattern.MULTILINE);
$ , 。 :(^bca).*(abc$) bca abc 。
\b 。 \b(abc) abc,(abcjj、jjabc )
\B 。 \B(abc) abc,(jjabcjj jjabc、abcjj )
\A
\G ( )。 \\Gdog dog , dog 。
\Z , ( )
, 。
:
‐ ( ) ('
')、
‐ ("\r
")、
‐ ('\r')、
‐ ('\u0085')、
‐ ('\u2028')
‐ ('\u2029)。
\z
, ,
Pattern pattern = Pattern.compile(patternString,Pattern.CASE_INSENSITIVE + Pattern.UNICODE_CASE);
:
‐CASE_INSENSITIVE: , US ASCII 。
‐UNICODE_CASE: CASE_INSENSITIVE , Unicode
‐MULTILINE:^ $ ,
‐UNIX_LINES: ^ $ , '
'
‐DOTALL: ,.
‐CANON_EQ: Unicode
8.Greedy
X? X,
X* X,
X+ X,
X{n} X, n
X{n,} X, n
X{n,m} X, n , m
9.Reluctant
X?? X,
X*? X,
X+? X,
X{n}? X, n
X{n,}? X, n
X{n,m}? X, n , m
10.Possessive
X?+ X,
X*+ X,
X++ X,
X{n}+ X, n
X{n,}+ X, n
X{n,m}+ X, n , m
Greedy,Reluctant,Possessive :( . )
greedy “ ”, 。 ( ) , , , 。 , 1 0 。
,reluctant : , 。 。
,possessive , ( ) 。 greedy ,possessive 。
11.Logical
XY X Y
X|Y X Y
(X) X, 。 (abc) abc
12.Back
nth
。 , ((A)(B(C))) , :
1 ((A)(B(C)))
2 \A
3 (B(C))
4 (C)
, (ab)34\1 ab34ab,(ab)34(cd)\1\2 ab34cdabcd。
13.
\ Nothing,
\Q Nothing, , \E。QE (1.1 )。 , ab\\Q{|}\\\\E
ab{|}\\
\E Nothing, \Q
14. ( )
(?:X) X,
(?idmsux-idmsux) Nothing, on off。 : (?i)abc(?-i)def ,(?i) ,abc
idmsux :
‐i CASE_INSENSITIVE :US-ASCII 。(?i)
‐d UNIX_LINES : UNIX
‐m MULTILINE : (?m)
UNIX
WINDOWS \r
(?s)
‐u UNICODE_CASE : Unicode 。(?u)
‐x COMMENTS : pattern , pattern whitespace, "#" (# )。(?x) (?x)abc#asfsdadsa abc
(?idmsux-idmsux:X) X, on - off 。 , , :(?i:abc)def, (?i)abc(?-i:def)
(?=X) X, lookahead。 , X 。 ,\w+(?=\d) , ( )
(?!X) X, lookahead。 。 X 。 ,\w+(?!\d) , 。
(?<=X) X, lookbehind。 。 X 。 ,(?<=19)99 99 19, 19。( )
(? (?>X) X, ( )
(?=X) (?>X) (?>X) 。 abcm
a(?:b|bc)m , a(?>b|bc) , b , , , 。 。
\D [^0-9]
\s [ \t
\x0B\f ]
\S [^ \t
\x0B\f ]
\w [a-zA-Z_0-9]
\W [^a-zA-Z_0-9]
^
$