正则表达式之re
正则表达式 :regular expression
用法:对字符串进行模式匹配
1,对常量字符串(普通字符)进行匹配
import re s = 'pyhton1C#22python1C#5pythonn2C#123' res = re.findall('python',s)#此处'python'就是常量字符串 print(res)
2,对元字符 进行匹配
s = 'pyhton1C#22python1C#5pythonn2C#123' res = re.findall('\d',s) print(res) #['1', '2', '2', '1', '5', '2', '1', '2', '3']
3,对 普通字符+元字符 进行匹配
普通字符 通常起到定界作用,元字符起到模糊匹配作用
s1 = 'abc,123,acc,a1c,afc,ahc,a23c' res = re.findall('a[bf123]c',s1) print(res) #['abc', 'a1c', 'afc']
4,常见的元字符
元字符:
.: 匹配任意单个字符
[]: 匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
字符集合:[:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:], [:alnum:]
匹配次数(贪婪模式):
*: 匹配其前面的字符任意次
.*: 任意长度的任意字符
\?: 匹配其前面的字符1次或0次
\{m,n\}:匹配其前面的字符至少m次,至多n次
\{1,\}
\{0,3\}
位置锚定:
^: 锚定行首,此字符后面的任意内容必须出现在行首
$: 锚定行尾,此字符前面的任意内容必须出现在行尾
^$: 空白行