正則表達式元字元的用法,看完秒懂
靜態網頁數據包含大量字元串,需要用到正則表達式匹配。本文對正則表達式的元字元的用法進行了整理。
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']