静态网页数据包含大量字符串,需要用到正则表达式匹配。本文对正则表达式进行了整理。
1、\W和\w的用法
import re str = '星期三wednesday3_@!' r1 = re.findall('\w', str) # 匹配所有字母,数字,汉字,下划线 r2 = re.findall('\W', str) # 匹配所有非字母,数字,汉字,下划线 print(r1) print(r2) ['星', '期', '三', 'w', 'e', 'd', 'n', 'e', 's', 'd', 'a', 'y', '3', '_'] ['@', '!']
2、\s和\S的用法
import re str = '星期三wednesday3_@!\n \t' r1 = re.findall('\s', str) # 匹配空格、\r\n\t r2 = re.findall('\S', str) # 匹配非空格、\r\n\t
print(r1)
print(r2)
['\n', ' ', '\t']
['星', '期', '三', 'w', 'e', 'd', 'n', 'e', 's', 'd', 'a', 'y', '3', '_', '@', '!']
3、\d和\D的用法
import re str = '星期三wednesday3_@!\n \t' r1 = re.findall('\d', str) # 匹配所有数字 r2 = re.findall('\D', str) # 匹配所有数字 print(r1) print(r2)
['3']
['星', '期', '三', 'w', 'e', 'd', 'n', 'e', 's', 'd', 'a', 'y', '_', '@', '!', '\n', ' ', '\t']
4. ^和$的用法
import re str = '星期三wednesday3_@! \n\t' r1 = re.findall('^星期', str) # ^匹配字符串起始部分 r2 = re.findall('\t$', str) # $匹配字符串终止部分 print(r1) print(r2)
['星期']
['\t']
5. .、*、?的用法