元字符 | 匹配内容 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母、数字、下划线 |
\s | 匹配任意的空白符,相当于[\n\t\r\f] |
\S | 匹配非空字符 |
\d | 匹配数字 |
\D | 匹配非数字 |
\A | 匹配字符串开头 |
\Z | 匹配字符串结尾,如果存在换行,同时还会匹配换行符 |
\n | 匹配一个换行符 |
\t | 匹配一个制表符 |
\b | 匹配一个单词的结尾 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结尾 |
\W | 匹配非字母或数字或下划线 |
a | b |
() | 匹配括号内的表达式,也表示一个组 |
[…] | 匹配字符组中的字符 |
[^…] | 匹配除了字符组中字符的所有字符 |
量词 | 用法说明 |
---|---|
* | 匹配0个或多个表达式 |
+ | 匹配1个或多个表达式 |
? | 匹配0个或1个前面的正则表达式定义的片段,非贪婪方式 |
{n} | 精确匹配n个前面的表达式 |
{n,} | 重复n次或更多次 |
{n,m} | 匹配n到m次由前面正则表达式定义的片段,贪婪方式 |
正则表达式是针对每个字符生效的匹配方法,因此在匹配中要对想要匹配的内容按字符依次对正则表达式进行定制。
表达式 | 目的 |
---|---|
\u4e00-\u9fa5 | 匹配所有中文字符 |
\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b | 匹配中文标点符号 |
isinstance(变量名,类型名)
#判断变量是不是列表
if isinstance(agency_phone,list):
for phone in agency_phone:
intermediate_result2=intermediate_result2+phone
result['agency_phone'] = intermediate_result2
else:
result['agency_phone']=agency_phone
匹配联系电话
(\d{7,12}'
r'|\d{0,4}-{0,2}\s{0,4}\d{7,12}'
r'|\d{0,4}-{0,2}\s{0,4}\d{7,12},\d{7,12}'
r'|\d{0,4}-{0,2}\s{0,4}\d{7,12};\d{7,12}'
r'|\d{0,4}—{0,2}\s{0,4}\d{7,12}-{0,2}\s{0,4}\d{0,5}'
r'|\d{0,12}/\s{0,2}\d{0,12}'
r'|\d{0,4}-{0,2}\d{0,8}、\d{0,8})
在想要同时遍历多个列表的情况下,可以使用zip函数组织列表内同下标的元素,该函数将多个列表内同下标的元素组织为元组。
循环次数受最短的列表的长度限制,因此想要遍历完最长的列表需要对较短的列表进行插值。
list_a=[0,1,2,3,4]
list_b=[0,1,2,3,4,5,6,7,8,9]
n=0
for i in zip(list_a,list_b):
print('循环次数'+str(n))
print(str(i[0])+'------'+str(i[1]))
n=n+1
run-result:
循环次数0
0------0
循环次数1
1------1
循环次数2
2------2
循环次数3
3------3
循环次数4
4------4
https://www.cnblogs.com/kxllong/p/7307831.html
https://blog.csdn.net/qq_31672701/article/details/100711585