List1(p2)
正则表达式
一组由字母和符号组成的特殊文本,正则表达式可以用来从文本中找出满足你想要的格式的句子
元字符
[]——字符种类,查找方括号内的任意字符,字符之间是或(or)的关系
# 提取字符串a中所有的数字,返回结果:['7', '6', '3', '6']
import re
a = '孙悟空7猪八戒6沙和尚3唐僧6白龙马'
r = re.findall('[0-9]',a)
print(r)
[^]——否定的字符种类,查找方括号外的任意字符
# 提取字符串a中所有非数字,返回:['孙', '悟', '空', '猪', '八', '戒', '沙', '和', '尚', '唐', '僧', '白', '龙', '马']
import re
a = '孙悟空7猪八戒6沙和尚3唐僧6白龙马'
r = re.findall('[^0-9]',a)
print(r)
# 找到字符串中间字母是d或e的单词,返回:['xdz', 'xez']
import re
a = 'xyz,xcz,xfz,xdz,xaz,xez'
r = re.findall('x[de]z',a)
print(r)
{n,m}——查询范围在n-m之间,包括n和m
贪婪模式:'[a-zA-Z]{3,5}' ——首先找到3个连续的字母,如果后面有连续的其他字母,那么就以此类推就能找到连续的5个字母
# 提取大小写字母混合的单词['Excel', 'Word', 'PPT']
import re
a = 'Excel 12345Word23456PPT12Lr'
r = re.findall('[a-zA-Z]{3,5}',a)
print(r)
*——重复在*前的字符,重复次数为0-n
# ['exce', 'excell', 'excel']
import re
a = 'exce0excell3excel3'
r = re.findall('excel*',a)
print(r)
+——重复在+前的字符,重复次数为1-n
# ['excell', 'excel']
import re
a = 'exce0excell3excel3'
r = re.findall('excel+',a)
print(r)
?——重复在?前的字符,重复次数为0-1
# ['exce', 'excel', 'excel']
import re
a = 'exce0excell3excel3'
r = re.findall('excel?',a)
print(r)
特殊字符
\d——查找所有的数字
# 提取字符串a中所有的数字
import re
a = 'Excel 12345Word\n23456_PPT12lr'
r = re.findall('\d',a)
print(r)
\D——查找非数字的字符
# 提取字符串a中所有非数字
import re
a = 'Excel 12345Word\n23456_PPT12lr'
r = re.findall('\D',a)
print(r)
\w——匹配中文,下划线,数字,英文
# 提取中文,英文,数字和下划线,不能提取特殊字符
import re
a = 'Excel 12345Word\n23456_PPT12lr'
r = re.findall('\w',a)
print(r)
\W——匹配特殊字符,如$、&、空格、\n、\t等
# 提取特殊字符、空格、\n、\t等
import re
a = 'Excel 12345Word\n23456_PPT12lr'
r = re.findall('\W',a)
print(r)
\s——查询空白字符(包括空格、换行符、制表符等)
\S——查询非空白字符的字符