正则表达式
(一)元字符
1,元字符描述表
元字符 | 描述 |
---|---|
+ | 前导字符出现一次或多次 |
* | 前导字符出现零次或多次 |
? | 前导字符出现零次或一次 |
\s | 匹配空格,包括tab键和换行符 |
\S | 匹配空格之外的任意字符 |
\d | 匹配 0 到 9 的数字 |
\w | 匹配字母、数字或下划线 |
\W | 匹配 字母、数字或下划线 以外的任意字符 |
. | 匹配换行符以外的任意字符 |
2,元字符栗子
正则 | 匹配的栗子1 | 匹配的栗子2 | 匹配的栗子3 |
---|---|---|---|
eg+ | eg | egg | |
eg* | e | eg | egg |
eg? | e | eg | |
\S+ | eg | like | |
\d | 0 | 1 | 9 |
\w | a | 1 | _ |
\W | $ | @ | ! |
.* | abc | a# 1 | @12a |
(二)出现频率
1,出现频率描述表
语法 | 频率 |
---|---|
{n} | 出现n次 |
{n,} | 至少出现n次 |
{n,m} | 至少出现n次,最多出现m次 |
2,出现频率栗子
正则 | 匹配的栗子1 | 匹配的栗子2 | 匹配的栗子3 |
---|---|---|---|
o{2} | oo | ||
o{2,} | oo | ooo | oooo |
o{2,3} | oo | ooo |
(三)定位符
1,定位符描述表
定位符 | 描述 |
---|---|
^ | 必须在目标字符串的开头 |
$ | 必须在目标字符串的结尾 |
\b | 放在前面则必须在目标字符串的开头,放在后面则必须在目标字符串的结尾 |
\B | 成对使用,必须在目标字符串的开头和结尾两个边界之内 |
2,定位符栗子
正则 | 匹配的栗子1 | 匹配的栗子2 |
---|---|---|
^hell | hello | helloboy |
ar$ | car | bar |
\bbom | bomb | |
man\b | human | woman |
\Bjava\B | ForjavaE |
(四)范围符
范围符描述表
范围符 | 描述 |
---|---|
[A-Z] | A-Z内任意一个大写字母 |
[a] | a-z内任意一个小写字母 |
[0-9] | 0-9内任意一个数字 |
[a-zA-Z0-9] | 任意一个字母或数字 |
(五)其他符号
1,其他符号描述表
符号 | 描述 |
---|---|
"或" 关系,左边或右边能够匹配即可 | |
() | 括号中的表达式可以作为整体被正则进行修饰 |
2,其他符号栗子
正则 | 匹配的栗子 |
---|---|
Tom|Jack | I'm Tom,he is Jack |
匹配的结果是成功,第一次匹配到Tom;匹配下一个时也是匹配成功,匹配到Jack。也就是只要内容包含Tom或者Jack其中一个就能被匹配到。