java 正则表达式

.

句点符号匹配所有字符,包括空格、Tab字符甚至换行符
.  条件限制除/n以外任意一个单独字符   
表达式 匹配
t.n tan、tbn、t#n、t n
java.. 条件限制为java后除换行外任意两个字符

[]

方括号之内只能匹配单个字符
表达式 匹配
t[aeio]n tan、ten、tin、ton

|

如果除了上面匹配的所有单词之外,你还想要匹配“toon”,那么,你可以使用“|”操作符。“|”操作符的基本意义就是“或”运算。要匹配“toon”,使用“t(a|e|i|o|oo)n”正则表达式。这里不能使用方扩号,因为方括号只允许匹配单个字符;这里必须使用圆括号“()”。圆括号还可以用来分组,具体请参见后面介绍。
t(a|e|i|o|oo)n
tan、ten、tin、ton、toon

次数

表达式 匹配
* 0 or more次
+ 1 or more次
? o or 1次
{n} n次
{n,m} 从n到m次
999-99-9999
[0-9]{3} \- [0-9]{2} \- [0-9]{4}

999-99-9999和999999999
[0-9]{3} \-? [0-9]{2} \-? [0-9]{4}

^

“^”符号称为“否”符号。如果用在方括号内,“^”表示不想要匹配的字符
[^X][a-z]+  

^为限制开头
^java     条件限制为以Java为开头字符

$为限制结尾
java$     条件限制为以java为结尾字符

()和空白符号 \s

假设要从格式为“June 26, 1951”的生日日期中提取出月份部分
匹配所有Moth DD,YYYY格式的日期
[a-z]+ \s+ [0-9]{1,2}, \s* [0-9]{4}
        ---                    ---
        必选空格            可选空格

常用字符

符号 等价正则
\d [0-9]
\D [^0-9]
\w [a-zA-Z_0-9]
\W [^a-zA-Z_0-9]
\s 空白符号 [/t/n/x0B/f/r]
\S 非空白符号 [^/t/n/x0B/f/r]