正则表达式和re模块
牛叉的正则表达式正则表达式与re模块的关系 ? 1.正则表达式是一门独立的技术,任何语言均可使用
字符组? ? 元字符
? ? 量词
? ? ? . 匹配除换行符以外的任意字符 ^ 匹配字符串的开始 $ 匹配字符串的结尾 很多时候如果表达式是 ^开头 内容 $结尾 这意思为固定整个字符串为一个匹配对象必须符合相应的标准才能匹配成功 ? 重复两次或一次
[] 或的意思 [^] 取反 转义符 str1 = ‘n‘ print(str1) res = re.search(r‘n‘,str1) #这样能正常匹配 要么就是n 连续转移 显而易见r的方便了!!!!!!! print(str1) 重点内容总结: ^:以什么什么开头 ^[a-z] ^[0-9] $:以什么什么结尾 ps:^与$连用能够精准匹配固定长度的目标字符,^只能出现在开头(),$只能出现结尾 |:或 ab|abc优先匹配前面的正则表达式ab,匹配上就不再用后面的abc,可以通过调换顺序修改优先级 ^:出现在[]中的^表示除了^后面的其他都匹配 a除了a其他都匹配 a-z除了小写字母a-z其他都匹配 上面的是匹配单个字符的符号,接下来需要学习匹配个数的限制符号 贪婪匹配:在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配 <.> 默认为贪婪匹配模式,会匹配尽量长的字符串<.?> 加上?为将贪婪匹配模式转为非贪婪匹配模式,会匹配尽量短的字符串 几个常用的非贪婪匹配Pattern *? 重复任意次,但尽可能少重复 +? 重复1次或更多次,但尽可能少重复 ?? 重复0次或1次,但尽可能少重复 {n,m}? 重复n到m次,但尽可能少重复 {n,}? 重复n次以上,但尽可能少重复 .*?的用法 . 是任意字符
就是取前面任意长度的字符,直到一个x出现 需了解内容总结
什么是re模块import re
findall的优先级查询:import re
split的优先级查询:ret=re.split("d+","eva3egon4yuan")
其他用法 import re # res = re.search(‘^[1-9](d{14})(d{2}[0-9x])?$‘,‘110105199812067023‘) # 还可以给某一个正则表达式起别名 # res = re.search(‘^[1-9](?P<password>d{14})(?P<username>d{2}[0-9x])?$‘,‘110105199812067023‘) # print(res.group()) # print(res.group(‘password‘)) # print(res.group(1)) # print(res.group(‘username‘)) # print(res.group(2)) # print(res.group(2)) # print(res.group(1)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |