渣渣一个,需要准备一些不知道,不熟悉的东西。摘抄与互联网各处。
"^[0-9]*[1-9][0-9]*$" //正整数
"^-?\d+$" //整数
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址
Python中也有正则表达式(正则表达式30分钟入门教程)的模块,那就是re
,下面就来了解一些我们常用的正则方法:
re.search
re.search 模式:在字符串中查找匹配的对象,找到第一个后返回,如果没有返回None
re.search的函数为:re.search(pattern,string,flags)
相比re.match只匹配开始而言,search会匹配所有,直到找到一个
re.findall
re.findall 模式:获取字符串中所有匹配的对象
相比re.search而言会搜寻所有的可匹配对象
3.总结速查表
元字符 含义
. 匹配一个字符(除了换行符\n)
[] 匹配里面一个可选字符
^ 匹配词首
$ 匹配词尾
{n} 前面的字符重复n次
{n,m} 前面的字符重复从n次到m次
{n,} 前面的字符重复n次到无限次
* {0,}
+ {1,}
? {0,1}
[^] 不包含里面内容
\d [0-9]
\w [A-Za-z0-9]
(?:pattern) 正向预查的正向匹配,等效于
(?=pattern) 正向预查的正向匹配,匹配后面跟着pattern的字符串
(?!pattern 正向预查的正向不匹配,匹配后面不跟着pattern的字符串
(?<=pattern) 反向预查的反向匹配,匹配前面是pattern的字符串
(?<!pattern) 反向预查的反向不匹配,匹配前面不是pattern的字符串
量词? 非贪婪模式