正则表达式

正则表达式

 

字符串的规则,给字符串定义一个规则

作用:

1  检测某一段字符串是否符合规则

2  从一大段文字中将符合规则的匹配出来
多用于爬虫中

 

规则;

元字符:

  匹配的是一个字符串的内容

量词: 

  匹配的次数

 

 

字符组:

数字

[0123456789]       #表示0到9之内的数字

[0-9]       #表示0到9之内的数字

不能使用[9-0],正则表达式不能从大到小,只能从小到大

因为正则表达式的大小都是根据ASCII码表来判断的

 

字母

[a-z]      #小写字母

[A-Z]      #大写字母

[A-Za-z]      #大写字母和小写字母

[A-Za-z0-9]           #大小写字母和数字

[A-Za-z0-9_]   大小写字母,数字和下划线,(想要什么符号可以在括号内添加)

顺序可以改变,如果使用需要查找特殊字符需要使用转义字符

 

 

 

元字符

\d      #所有的数字

\w           # 所有的数字字母下划线

\n      #换行符

\t       #制表符

\s      #所有的空格,包括换行符和制表符

\b      # 表示一个单词的边界(放在字符的前面表示是否是这个字符结尾,放在字符的后面,判断是不是这个字符开头)

 

 

反义词

\W        #除了数字字母下划线的所有
\D        #除了数字的所有
\S        #除了空白的所有
.          #除了换行符之外的所有
\d\D       #匹配所有
\w\W       #匹配所有
\s\S       #匹配所有

 

 

非字符组:

[^123]     #除了123之外的所有值

^       #开头 一个字符只有一个开始,必须在开头

$      #结尾  一个字符只有一个极为,必须在末尾

###如果使用^开头,使用$结尾,这个字符串的长度就被规定死了,
|        # 或者,左边的内容和右边的内容都是全集,且需要筛选的内容要与左边或者右边的内容全部相同。且,字符串长的必须放在符号的左边

www\.(baidu|oldbay)\.com 小括号表示分组,正则表达式会对括号内的内容进行匹配(类似于算运算的优先级)

 

量词

 

量词 {}:   在量词的范围内尽可能多的匹配
\d{9}          表示前面的紧挨着的规则必须连续出现
{n}           表示出现n次
{n,}          表示至少出现n次
{n,m}         表示出现n到m次
?          表示匹配0次或1次(用来查看某个字符是否存在,如果存在只能存在一次)
+          表示1次或多次
*          表示匹配0次或多次

 

 

正则表达式的特性:

 


贪婪匹配(a.*x) :默认的
    将所有的字符串都查询,然后反向查找第一个x取正向查的a到反向查的第一个x
    在量词匹配时,尽可能多的匹配,查找从a开始到最后一个x之间的所有数据

惰性匹配(a.*?x) :需要手动输入
    每查询一个值,就先看不是不是x,不是就交给.*处理
    尽可能的少匹配,查找从a开始到x之间的所有数据

 

posted @ 2019-03-21 15:46  msKk1  Views(114)  Comments(0Edit  收藏  举报