正则表达式的基本语法

Posted hzcjd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式的基本语法相关的知识,希望对你有一定的参考价值。

下面有我整理的关于正则表达式的基本语法;
具体案例网络爬虫

一.正则表示式语法

1.1普通字符

字母、数字、汉字、下划线、以及没有特殊定义的标点符 号都是“普通字符”。

1.2转义字符

java中的转义字符一致

1.3标准字符集

d

d 任意一个数字,0~9 中的任意一个

w

任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个

s

包括空格、制表符、换行符等空白字符的其中任意一个

.

小数点可以匹配任意一个字符(除了换行符)
如果要匹配包括“ ”在内的所有字符,一般用[sS]

 

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)电话号码为78位 –
(3)如果电话号码中包含有区号,那么区号为三位或四位, 首位是0.
(4)区号用"-"和其他部分隔开

结果:0d{2,3}-d{6,8}

2.2手机验证


(1)移动电话号码为11位 –
(2)11位移动电话号码的第一位和第二位为"13“,”15”,”18

结果:1[358]d{3,9}

以上是关于正则表达式的基本语法的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式基本语法

shell--grep命令+正则表达式+基本语法

python正则表达式基本语法

正则表达式的概念和基本语法

正则表达式基本语法

正则表达式基本语法