正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。本文使用findall()这个函数,并通过几个例子来详细介绍正则表达式如何使用,学会正则表达式,你的编程能力将更上一层。
findall()方法的第1个参数是模式,第2个参数是要查找的字符串。模式中会有一些特殊字符,所以用r表示这是一个raw字符串,让Python不要去转义里面的特殊字符。下面通过几个例子来进行介绍:
import re
text = '爬虫小迷弟,年纪20岁,现就读于某某某大学,将要去某某某城市工作'
a = re.findall(r'爬虫小迷弟', text)
print(a)
代码介绍:
re,findall(参数1,参数2)# 参数1是寻找的目标,参数2是要查找的字符串
第一行:引入re正则表达式模块
第二行:text是查找的字符串。
第三行:'爬虫小迷弟'是要查找的目标,re.findall()函数在text中寻找是否存在'爬虫小迷弟'如果存在,将所找到的存储在a中。
第四行:输出查找的结果。
上述例子仅是在指定的字符串中查找一个固定的字符串,当然你可以将这个固定的字符串加上一些约束条件,使得这个查找功能更加强大。
一、^的使用
1.1:排除指定内容
import re
text = '爬虫小迷弟,年纪20岁,现就读于某某某大学,将要去某某某城市共工作,身份证号为123456788901234567,电话号码为:12334567890,会说English,加入博客year:2019'
a = re.findall(r'[^0-9]', text)
print(a)
运行结果如下:
[^0-9]:^在这里的功能是排除的意思,也就是在text这个字符串中,查找除数字0到9之外的内容。
1.2:表示句子开头
import re
text = '1234678901, 1234567890'
a = re.findall(r'1234', text)
print(a)
运行结果:
这是未使用^,因为在指定的字符串中,含有两个1234,所以最后的结果返回两个1234,
加上^之后
import re
text = '1234678901, 1234567890'
a = re.findall(r'^1234', text)
print(a)
运行结果如下:
这篇文章简单介绍了re正则表达式中^的使用方法,如果对您有帮助,请不要吝啬你的点赞,关注和收藏哦