正则表达式是一个特殊的字符序列,可以帮助你方便的检查一个字符串是否与某种模式匹配。
Python中常用的正则表达式处理函数。
1、re.match()函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
函数语法:re.match(pattern, string, flags=0)

2、re.search()方法
re.search 扫描整个字符串并返回第一个成功的匹配。
函数语法:re.search(pattern, string, flags=0)

3、re.match与re.search的区别
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

4、re.compile ()函数
compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
语法格式为:re.compile(pattern[, flags])

5、findall ()
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
注意: match 和 search 是匹配一次 findall 匹配所有。
语法格式为:findall(string[, pos[, endpos]])

6、re.finditer ()
和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
语法格式:re.finditer(pattern, string, flags=0)

7、Group(num=0)
返回整个的匹配对象,或者特殊编号的字组
语法格式:Re.match(patter.s1).group()

常见正则表达式
邮箱:re.compile(r"[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)+")

身份证:re.compile(r”[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]”)

手机号码:re.compile(r"1[356789]\d{9}")

域名: re.compile(r"(?:(?:http:\/\/)|(?:https:\/\/))?(?:[\w](?:[\w\-]{0,61}[\w])?\.)+[a-zA-Z]{2,6}(?:\/)")

日期:re.compile(r"\d{4}(?:-|\/|.)\d{1,2}(?:-|\/|.)\d{1,2}")

邮政编码:re.compile(r"[1-9]\d{5}(?!\d)")

中文字符:re.compile(r"[\u4e00-\u9fa5]")

正则表达式模式语法中的特殊元素

python正则匹配换行符 python 正则匹配_python


python正则匹配换行符 python 正则匹配_正则表达式_02