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)
原文地址:https://www.cnblogs.com/hyserendipity/p/7228884.html