正则表达式元字符的用法,看完秒懂
静态网页数据包含大量字符串,需要用到正则表达式匹配。本文对正则表达式的元字符的用法进行了整理。
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. .、*、?的用法
import re str = '星期三wednesdaywweeddnneessddaayy3_@! \n\t' r1 = re.findall('w.e', str) # .号可以代替除了换行符(\n)以外的任何一个字符 r2 = re.findall('w?e', str) # ?号代表前面的字符可以出现1次,也可以不出现 r3 = re.findall('w*e', str) # *号代表前面的字符可以出现1次,也可以不出现,也可以出现很多次 print(r1) print(r2) print(r3) ['wwe'] ['we', 'e', 'we', 'e', 'e', 'e'] ['we', 'e', 'wwe', 'e', 'e', 'e']