Android 正则表达式

转义字符

  \        转义紧随的元字符

  \Q        转义所有紧随的元字符直到\E

  \E         与\Q搭配使用,转义包含的所有元字符

  \\         反斜杠

  \uhhhh      16进制Unicode字符U+hhhh

  \xhh      16进制Unicode字符U+00hh

  \cx       ASCII控制字符^x(所以\cH表示^H,U+0008)

  \a         ASCII字符U+0007,BELL

  \e         ASCII字符U+001b,ESC

  \f         ASCII字符U+000c

  \n         ASCII字符U+000a,换行

  \r         ASCII字符U+000d,回车

  \t         ASCII字符U+0009,制表位

字符类

  [abc]      在集合中的任一字符

  [a-c]       在由范围定义的集合中的任一字符

  [^abc]      在补集中的任一字符

  [[a-f][0-9]]   在并集中的任一字符

  [[a-z]&&[jkl]]   在交集中的任一字符

  .        任一字符

  \d       任一数字字符

  \D       任一非数字字符

  \s        任一空白字符

  \S       任一非空白字符

  \w       任一字母字符

  \W       任一非字母字符

  \p{NAME}     任一属于指定名称字符类的字符

  \P{NAME}     任一不属于指定名称字符类的字符

量词

  *        0或多个

  ?        0或1个

  +          1或多个

  {n}       恰好n个

  {n,}       至少n个

  {n,m}      至少n个且不超过m个

  <量词>     默认为贪婪量词,贪婪量词之所以称之为“贪婪的”,这是由于它们强迫匹配器读入(或者称之为吃掉)整个输入的字符串,来优先尝试第一次匹配,如果第一次尝试匹配(对于整个输入的字符串)失败,匹配器会通过回退整个字符串的一个字符再一次进行尝试,不断地进行处理直到找到一个匹配,或者左边没有更多的字符来用于回退了。赖于在表达式中使用的量词,最终它将尝试地靠着 1 或 0 个字符的匹配。

  <量词>?      勉强量词采用与贪婪量词相反的途径:从输入字符串的开始处开始,因此每次勉强地吞噬一个字符来寻找匹配,最终它们会尝试整个输入的字符串。

  <量词>+     侵占量词始终是吞掉整个输入的字符串,尝试着一次(仅有一次)匹配。不像贪婪量词那样,侵占量词绝不会回退,即使这样做是允许全部的匹配成功。

边界匹配器

  ^        行首

  $        行尾

  \A         输入的开头

  \b         单词边界

  \B         非单词边界

  \G         上一个匹配的结尾

  \z          输入的结尾,仅用于最后的结束符(如果有的话)

  \Z         输入的结尾

posted on 2011-04-07 12:26  爱吃草莓的维尼  阅读(975)  评论(0编辑  收藏  举报

导航