正则表达式的基本语法
Posted hzcjd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式的基本语法相关的知识,希望对你有一定的参考价值。
下面有我整理的关于正则表达式的基本语法;
具体案例网络爬虫
一.正则表示式语法
1.1普通字符
字母、数字、汉字、下划线、以及没有特殊定义的标点符 号都是“普通字符”。
1.2转义字符
与java中的转义字符一致
1.3标准字符集
d |
d 任意一个数字,0~9 中的任意一个 |
w |
任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个 |
s |
包括空格、制表符、换行符等空白字符的其中任意一个 |
. |
小数点可以匹配任意一个字符(除了换行符) |
1.3自定义字符集
正则表达式的特殊符号,被包含到中括号中,则失去特殊意义,除了 ^,-之外。
如:[d.-+]将匹配:数字、小数点、+、-
|
[ab5@] |
匹配 "a" 或 "b" 或 "5" 或 "@" |
^ |
[^ abc] |
匹配 "a","b","c" 之外的任意一个字符 |
- |
[f-k] |
匹配 "f"~"k" 之间的任意一个字母 |
|
[^A-F0-3] |
匹配 "A"~"F","0"~"3" 之外的任意一个字符 |
1.4量词
ad?b 将匹配ab之间出现0-1字符
ad+b 将匹配ab之间最少出现1字符
ad*b 将匹配ab之间最少出现0字符
{n} |
表达式重复n次 |
{m,n} |
表达式至少重复m次,最多重复n次 |
{m,} |
表达式至少重复m次 |
? |
匹配表达式0次或者1次,相当于 {0,1} |
+ |
表达式至少出现1次,相当于 {1,} |
* |
表达式不出现或出现任意次,相当于 {0,} |
1.5字符边界
匹配的不是字符而是位置
^ |
与字符串开始的地方匹配 |
$ |
与字符串结束的地方匹配 |
匹配一个单词边界 |
1.6选择符与分组
| |
左右两边表达式之间 "或" 关系 |
([a-z]{2,})1 |
分组已捕获的字符串 |
([a-z]{2,})1
1.7零式断言
(?=exp) |
断言自身出现的位置的后面能匹配表达式exp |
[a-z]+(?=d)
一.实例
2.1电话号码验证
(1)电话号码由数字和"-"构成 –
(2)电话号码为7到8位 –
(3)如果电话号码中包含有区号,那么区号为三位或四位, 首位是0. –
(4)区号用"-"和其他部分隔开
结果:0d{2,3}-d{6,8}
2.2手机验证
(1)移动电话号码为11位 –
(2)11位移动电话号码的第一位和第二位为"13“,”15”,”18”
结果:1[358]d{3,9}
以上是关于正则表达式的基本语法的主要内容,如果未能解决你的问题,请参考以下文章