正则表达式tips

在大数据时代的如今,在测试过程中会接触到大量的数据,实现在大量数据中快速查找替换目标数据少不了正则表达式的协助,所以今天整理一下常用的正则表达式。

 

一、组成与用途

正则表达式,是由普通字符(例如a-z)和特殊字符(称为“元字符”)组成。主要可用于进行字符串匹配,实现查找字符串、字符串子串或者对查找字符串进行替换的目的。

 

      二、语法     

正则表达式中的字符有普通字符、非打印字符、特殊字符、限定符、定位符等。

 

这里主要说明一下限定符、定位符。

 

1、限定符

要求指定字符串出现的次数符合设定的规则。

 

*:前面的表达式匹配到零次或者多次

例如:规则设置为ok*,ok与okkk

 

+:匹配前面的子表达式一次或多次

例如:规则设置为ok+,o不符合,ok与okkk等符合

 

?:匹配一个或零个前面的子表达式,非贪婪

例如:规则设置为go(od)?,go与good均符合

 

{n}: 匹配n次

例如:o{2},not不符合,但good可以匹配到

 

{n,}: 匹配n以及n次以上的字符

例如:o{2,} 可以匹配到gooooood中的所有o

 

{n,m}: 表示匹配最少n次,最多m次,设置一个次数范围

例如:o{1,3} 可以匹配到gooooood中的前三个o

 

2、定位符

 

^:  匹配字符串的起始位置,

例如:^test,表示匹配以test开头的字符串,如testxy。

 

$: 匹配输入字符串的结尾,

例如:test$表示匹配以test结尾的字符串,如xytest。

 

\b: 匹配一个单词的边界,

例如\bGoo,匹配Good的Goo

 

\B: 匹配单词的非边界位置,

例如:\BGoo,不能匹配Good中的Goo,可以匹配wowGood中的Goo

 

注:

(^[0-9])+ :表示匹配一个或多个数字,相当于\d+

[^[0-9]]+ :表示匹配不含数字的字符串,相当于\D+

 

三、常用的正则表达式

1、 字母下划线校验:[A-Za-z0-9_] ,相当于\w+

 

2、中文:[\u4e00-\u9fa5]

 

3、 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

 

4、18位身份证号:^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$

 

5、日期格式:^\d{4}-\d{1,2}-\d{1,2}

 

6、IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))

 

7、InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

posted @ 2020-02-13 09:33  致远方  阅读(141)  评论(0编辑  收藏  举报