import re target_str = 'fjnod@17778.com' pattern = re.compile('@(.+)\.com') #126778 .用\. pattern = re.compile('(.+)@') #fjnod result01 = pattern.findall(target_str) target_str ="我们都喜欢吃1个10086的ABC" pattern = re.compile('[^0-9]+') #我们都喜欢吃 个 的ABC pattern = re.compile('[^0-9]+1{1}') #我们都喜欢吃1 个1 1字符串的后面出现了1次 pattern = re.compile('[^0-9]{2,}1{1}') #我们都喜欢吃1 1前至少有2个非数字 pattern = re.compile('[0-9]{5,}') #10086 result01 = pattern.findall(target_str) -------------------------------------------------------------------------------- . 除了换行符以外的单个字符 [0-9] 单个数字 [a-z]单个小写字母 [A-Z]单个小写字母 [^0-9]单个非数字 [^aeiou]除了aeiou以外的字母 \s 空白符号,如空格、换行 \S 非空白符 \w 字母数字下划线 等价于[a-zA-Z0-9_] \n 换行 \r 回车 * 可出现可不出现 >=0 + 至少出现一次 >0 ?最多出现一次 <=1 ?在 (*, +, ?, {n}, {n,}, {n,m}) 后时,代表问号后面的内容(多字符)只出现一次 非贪婪 默认是贪婪。 对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。 <1234>>>> <.*> 匹配成<1234>>>> 贪婪 <.*?> 匹配成<1234> 不贪婪 ( ) 分组 只取括号里的内容 [ ] "或" [Gg]p0\w 匹配 Gp01 gp02 {n} 出现n次 {n,m} 出现n到m次 font_css_string= 'asdfasdfad.woff 222222.woff 33333.woff' #多个重复的,输出成列表 address_temp = re.compile('.*?.woff').findall(font_css_string) #问号后!面!的字符只出现一次 非贪婪 print(address_temp)
正则表达式
于 2022-12-27 23:32:09 首次发布