java 正则表达式

  1. API 所支持的元字符有:([{\^-$|}])?*+.具有特殊意义的字符(15个)
  2. 预定义字符类
    . 任何字符(匹配或者不匹配行结束符)
    \d 数字字符:[0-9]
    \D 非数字字符:[^0-9]
    \s 空白字符:[\t\n\x0B\f\r]
    \S 非空白字符:[^\s]
    \w 单词字符:[a-zA-Z_0-9]
    \W

    非单词字符:[^\w]

贪婪(greedy)、勉强(reluctant)和侵占(possessive)

量 词 种 类 意  义
贪婪 勉强 侵占
X? X?? X?+ 匹配 X 零次或一次

X*

X*? X*+ 匹配 X 零次或多次
X+ X+? X++ 匹配 X 一次或多次
X{n} X{n}? X{n}+ 匹配 X n 次
X{n,} X{n,}? X{n,}+ 匹配 X 至少 n 次
X{n,m} X{n,m}? X{n,m}+ 匹配 X 至少 n 次,但不多于 m 次

零长度匹配会出现在以下几种情况:输入空的字符串、在输入字符串的开始处、在输入字符串最后字符的后面,或者是输入字符串中任意两个字符之间。由于它们开始和结束的位置有着相同的索引,因此零长度匹配是容易被发现的。

1 Enter your regex: [abc]{3}
2 Enter input string to search: abca
3 I found the text "abc" starting at index 0 and ending at index 3.//此处的理解是 匹配3次 每次符合[abc],算匹配成功

     3.边界匹配器

边界匹配器
^ 行首
$ 行尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾

 

posted @ 2014-09-18 14:56  soul390  阅读(113)  评论(0)    收藏  举报