正则表达式基础符号概念

在项目中解析文件部分使用java Pattern与Matcher类,自然少不了正则啦,在此将正则基础符号概念部分总结一下,比较精简…


句点符号

. 任意单个字符

例:a.b 匹配三位长度字符串,中间任意字符;如a ba1ba-b


方括号 圆括号

[] 单字符长度范围, () 分组(不限长度)

例:a[123]b 匹配三位长度字符串,中间指定字符;如a1b,a2b,a3b()用法同理


或符号

| 或运算

例:(a|b|cc) 匹配a或b或cc,此处不可使用 []


星号

* 匹配左边字符0次多次

例:a*[b] 匹配最后一位字符是b,前面字符全为a的字串单个b字符,如abaaabb


加号

+ 匹配左边字符1次多次

例: a+[b] 匹配第二位是b字符,b字符前面一个多个a字符的字符串,如aabab,aaab


问号

\? 匹配左边字符0次一次(有或无此字符->有此字符也满足条件)

例:a?[ab] 匹配左边有a字符或无a字符,第二位为a或b的字符串,如aabb


花括号

{n} | {m-n} 匹配左边字符恰好n次 或 m-n 次(连续性)

例:a{3}b只匹配字符串aaab


否符号

^ 非运算

例:[^a]b匹配第一个字符不是a,第二个字符是b的字符串


常用正则表达式符号

\s 等价于 [\t\n\r\f] 即tab制表符、换行符、回车符、换页符,其一,也就是空白字符

\d等价于 [0-9] 也就是数字字符

\w等价于 [A-Z0-9] 也就是字符,字母字符无论大小写都匹配哦

\S \D \W 即上面三种符号定义的“非”逻辑