正则表达式
Posted whylinux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。
1 # tool.chinaz.com/regex/ 这是一个在线的正则表达式测试工具 2 # re模块,在python中想要使用正则表达式,要使用re模块来进行使用 3 # 正则表达式 4 5 # 学习正则表达式 6 7 # 学习使用re模块来操作正则表达式 8 9 10 # 正则表达式是用来做字符串匹配的 11 # 正则可以用来解决使用字符串解决起来非常麻烦的事情 12 13 14 15 16 # 关于正则表达式,推荐看正则指引,正则在数据分析和爬虫等领域非常重要 17 18 19 # 谈到正则,就只和字符串相关了。 20 21 # 正则表达式: 22 # 字符组:[字符组],在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示。用来匹配这个位置可能出现的一个字符 23 # [0123456789] 匹配到任意0~9之间的数字, 24 # [0-9] 匹配到任意0~9之间的数字, 25 # [a-z] 匹配a到z任意的小写字母 26 # [A-Z] 匹配A到Z任意的大写字母 27 # [A-Za-z0-9] 匹配0-9和a-z和A-Z的任意字符 28 # 元字符 29 # . 匹配除换行符以外的任意字符 30 # w 匹配字母数字下划线 31 # s 匹配任意的空白符 32 # d 匹配数字 33 # W 匹配非字母数字下划线 34 # S 匹配非空白符 35 # D 匹配非数字 36 # 匹配一个换行符 37 # 匹配一个制表符 38 # 匹配一个单词的结尾 39 # ^ 匹配字符串的开始 40 # $ 匹配字符串的结尾 41 # a|b 匹配a字符或b字符 42 # () 匹配括号内的表达式,也表示一个组 43 # [...]匹配字符组中的字符 44 # [^...] # 匹配除了字符组中的字符外的所有字符 45 46 # 量词 所有的量词只能工作在正则规则的后面.量词默认都是贪婪匹配,如果不要贪婪匹配则在量词后面加上?,则会尽可能少的匹配(也叫非贪婪匹配) 47 # * 重复0次或更多次 48 # + 重复一次或更多次 49 # ? 重复0次或1次 50 # {n} 重复n次 51 # {n,} 重复n次或更多次 52 # {n, m}重复n到m次 53 54 55 56 # . ^ $ 57 # ^海.$ 匹配两个字符,还要以海开头的 58 59 60 # 字符集 [] [^] 61 62 # 分组()与或| [^] 63 # 需要对整体的内容进行量词的约束,则放到()中 64 65 # 转义符 66 # 在字符串之前加r,让整个字符串不转义 67 68 69 # 几个常用的非贪婪匹配pattern(也叫惰性匹配) 70 # *? 重复任意次,但尽可能少重复 71 # +? 重复1次或更多次,但尽可能少重复 72 # ?? 重复0次或1次,但尽可能少重复 73 # {n, m}? 重复n到m次,但尽可能少重复 74 # {n, }? 重复n次以上,但尽可能少重复 75 76 77 # .*?的用法 78 # . 是任意字符 79 # * 是取0 至 无限长度 80 # ? 是非贪婪模式 81 # 合在一起就是 取尽量少的任意字符,一般不会单独这么写(因为这么写只会匹配0次),他大多用在.*?x 也就是?后面有个判断的结束符 82 83 84 # 实例,匹配手持机号 85 # (^13|15|16|17|18)[0-9]{9} 开头必须是13或15或16等结尾,之后匹配0-9数字,重复匹配9次 86 87 # 实例,匹配身份证号 88 # ^[1-9]d{14}(d{2}[0-9x])?$
以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性