background image

  在限制条件为特定字符出现有 0 或 1 次以上时,可以使用「?」

  JA? J 或者 JA 出现

 

  限制为连续出现指定次数字符「{a}」

  J{2} JJ

  J{3} JJJ

  文字 a 个以上,并且「{a,}」

  J{3,} JJJ,JJJJ,JJJJJ,???(3 次以上 J 并存)

  文字个以上,b 个以下「{a,b}」

  J{3,5} JJJ 或 JJJJ 或 JJJJJ

  两者取一「|」

  J|A J 或 A

  Java|Hello Java 或 Hello

 

  「()」中规定一个组合类型

    比 如 , 我 查 询 <a href=\"index.html\">index</a> 中 <a href></a> 间 的 数 据 , 可 写 作

<a.*href=\".*\">(.+?)</a>

  在使用 Pattern.compile 函数时,可以加入控制正则表达式的匹配行为的参数:

  Pattern Pattern.compile(String regex, int flag)

 

  flag 的取值范围如下:

  Pattern.CANON_EQ 当且仅当两个字符的"正规分解(canonical decomposition)"都完全

相同的情况下,才认定匹配。比如用了这个标志之后,表达式"a\?"会匹配"?"。默认情况下,

不考虑"  

规 范相等性(canonical equivalence)"。

  Pattern.CASE_INSENSITIVE(?i) 默认情况下,大小写不明感的匹配只适用于 US-

ASCII 字符集。这个标志能让表达式忽略大小写进行匹配。要想对 Unicode 字符进行大小不

 

明感的匹 配,只要将 UNICODE_CASE 与这个标志合起来就行了。

  Pattern.COMMENTS(?x) 在这种模式下,匹配时会忽略(正则表达式里的)空格字符(译

者注:不是指表达式里的"\\s",而是指表达式里的空格,tab,回车之类)。注释从#开始,