正则表达式基础
时间:2020-11-28 12:30:11
收藏:0
阅读:24
正则表达式
正则表达式使用单个字符串来描述、匹配一系列符合某各句法规则的字符串。
1. 元字符:
元字符是构造正则表达式的基本元素:
元字符 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白字符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
- 匹配有abc开头的字符串:
\babc 或着 ^abc
- 匹配8位数字的QQ号码:
^\d\d\d\d\d\d\d\d$
- 匹配以155开头的11位数字的手机号码:
^155\d\d\d\d\d\d\d\d$
2. 重复限定符
为了避免重复地书写元字符,引入重复限定符。
语法 | 说明 |
---|---|
* | 重复0次或更多次 |
+ | 重复1次或更多次 |
? | 重复0次或1次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
使重复限定符对之前的正则表达式进行改造:
- 匹配8位数字的QQ号码:
^\d{8}$
- 匹配1开头11位数字的手机号码:
^1\d{10}$
- 匹配银行卡号是14~18位的数字:
^\d{14,18}$
- 匹配以a开头的,0个或多个b结尾的字符串
^ab*$
3. 分组
从上节的例4可以看到,限定符作用在左边最近的一个字符。如果想要ab同时被限定,应该怎么办呢?
正则表达式中使用小括号()来分组,即将括号中的内容作为一个整体。
例:匹配包含0到多个ab字符串
^(ab)*$
4. 转义
使用在这些限定符前加\,使元字符、限定符或关键字转移成普通字符。
例:匹配以(ab)开头的字符串
^(\(ab\))*$
5. 条件或
正则表达式使用符号 | 来表示或,当满足任何一个条件是,都会当做是匹配成功。
例:匹配所有联通的手机号
^(130|131|132|155|156|185|186|145|176)\d{8}$
6. 区间
正则表达式使用 [] 来表示区间条件。
- 限定0到9:[0-9]
- 限定A到Z:[A-Z], [a, z]
- 限定某些数字[165]
因此,前例可以改写为:
^((13[0-2]) | (15[5-6]) | (15[5-6]) | 145|176)\d{8}$
原文:https://www.cnblogs.com/jmhwsrr/p/14051835.html
评论(0)