多语言展示
当前在线:1959今日阅读:27今日分享:41

Python正则表达的使用方法?

有时候我们需要在大量文本中找到需要的数据内容,这就需要用到正则表达式。例如:str='您本月共消费产品12件,总金额1087.78元。如果有任何疑问,请将问题发送至邮箱XXX@sad.com。或者打电话XXX。我们的工作人员会在第一时间针对您的信件给您答复。copyright2018 wudh hhcd.。'我们要从以上一段话中找到销量,金额,电话和邮箱,用于数据处理和分析,如果这样的原始数据很庞大,就需要通过一些技巧把这些数据迅速提炼出来。
工具/原料
1

Python

2

数据源

方法/步骤
1

导入正则包,并读取需要分析的数据。import re

2

获取消费量的数据。可以观察到消费量的数据是介于“消费产品”和“件”之间。因此可以用贪婪匹配,利用字符(.+?)来获取所有的“消费产品”和“件”之间的数据。注意:不能用(.*)或者(.+),这样的话,就取介于后面的“信件”与“消费产品”之间的数据了。cost=re.findall(r'消费产品(.+?)件', str)

3

获取消费金额。同样地,使用money=re.findall(r'总金额(.+?)元', str)print(money)

4

提取邮箱数据。注意到邮箱在“邮箱”与“。”之间。所以:email=re.findall(r'邮箱(.+?)。', str)print(email)

5

注意到邮箱的组成格式是多个字符或数字符号+‘@’+数字或字母+'.'+'com|cn‘等组成。邮箱后缀根据实际情况添加进去。这里有一个通用的匹配方法。email=re.findall(r'[0-9a-zA-Z.]+@[0-9a-zA-Z.]+?com',str)print(email)

6

匹配电话号码。电话号码由数字-数字-数字组成,所以:tel=re.findall(r'[0-9]+-[0-9]+-[0-9]+',str)print(tel)

推荐信息