Python 正则表达式
2017-07-24 13:16:17
正则表达式是用来更简洁的匹配查找字符串的一种语言。使用正则表达式可以更方便的处理字符串。在Python中使用re库可以进行字符串的正则匹配。正则表达式本身其实就是一个字符串,不过这个字符串里有一些语法,通过这些语法的约束,可以像解迷一样将字符串中自己需要的部分提取出来。
一、语法
二、常用的函数
re.search(正则表达式,string) : 返回值为真或者假
re.findall(正则表达式,string) : 返回值为一个列表,将字符串中所有符合条件的字串都返回
三、练手
import re x = '[asdf]: 我的全部的尊严就在于思想' #匹配空格后的所有字符 # . : 通配符 # * :匹配任意多个字符 # (): 最终返回的是()中匹配的内容 y = re.findall('.* (.*)', x) print(y)
import re x = '[asdf]: 我的全部的尊严就在于思想' #匹配[]中的所有字符 # . : 通配符 # * :匹配任意多个字符 # (): 最终返回的是()中匹配的内容 y = re.findall('.*\[(.*)]', x) print(y)
import re x = 'From <h>window@microsoft.com<h> DA GD' # 匹配<h>...<h>中的内容,注意必须是连着的,不能有空格 # ^ : 开头 # . : 通配符 # \S : 匹配除空格外的所有字符 # * :匹配任意多个字符 # + :匹配至少一个字符 # (): 最终返回的是()中匹配的内容 pattern = re.compile('(?<=<h>)\S+(?=<h>)') y = re.findall(pattern, x) print(y)
import re x = 'From window@microsoft.com DA GD' # 匹配From开头的邮箱号(这里必须使用懒惰方式!) # ^ : 开头 # . : 通配符 # \S : 匹配除空格外的所有字符 # * :匹配任意多个字符 # + :匹配至少一个字符 # (): 最终返回的是()中匹配的内容 pattern = re.compile('^From.*?(\S+@\S+)') y = re.findall(pattern, x) print(y)