前言
我想在网上最出名的正则相关的一篇文章就是《正则表达式30分钟入门教程》了,说实话这篇文章确实是我的正则入门,但是随着使用熟练,冗长的文章已经不能满足我了,在此做个归纳总结,用于快速查阅。
以下语法在Java中有效,大部分应该是通用的。
元字符
元字符,又叫字符集,就是用一些特殊符号表示特定种类的字符或位置。
匹配字符
.匹配除换行符以外的任意字符w匹配字母或数字或下划线或汉字s匹配任意的空白符d匹配数字
匹配位置
匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束G上一个匹配的结尾(本次匹配开始)A字符串开头(类似^,但不受处理多行选项的影响)字符串结尾或行尾(不受处理多行选项的影响)z字符串结尾(类似$,但不受处理多行选项的影响)
重复
*重复零次或更多次+重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次
字符转义
如果想匹配元字符本身或者正则中的一些特殊字符,使用转义。例如匹配*这个字符则使用*,匹配这个字符,使用\。
需要转义的字符:$, (, ), *, +, ., [, ], ?, , ^, {, }, |
字符类
当需要匹配明确的字符或字符集合时候,就用到字符类。
特殊字符