首页 > 代码库 > 10、正则表达式
10、正则表达式
元字符
正则表达式语法:
1、[...]:用来表示一组字符,单独列出:[amk] 匹配'a','m'或'k'
--常用来指定一个字符集,字符集中的一个或多个都能被匹配:[abc];[a-z];[0-9];[A-Z].也可以写成[a-z0-9A-Z]
--元字符在字符集中不起作用:[abc$]
--补集匹配不在区间范围内的字符[^5]
--元字符在字符集中不起作用:[abc$]
--补集匹配不在区间范围内的字符[^5]
2、^:匹配行首,符号放在字符串前面如:h=r'^hello 'r表示原意
--只匹配字符串的开始。但在MULTILINE模式里,也可以直接匹配字符串中的每个换行
3、$:匹配行尾,符号放在字符串后面如:o=r'boy$'
4、\:取消元字符变成普通字符串,
--反斜杠后面可以加不同的字符以表示不同的特殊意义:
\d--匹配任何十进制数;相当于[0-9]
\D--匹配任何非数字字符;相当于[^0-9]
\s--匹配任何空白字符;相当于[\t\n\r\f\v]
\S--匹配任何非空白字符;相当于[^\t\n\r\f\v]
\w--匹配任何字符数字字符;相当于[a-zA-Z0-9]
\W--匹配任何非字母数字字符;相当于[^a-zA-Z0-9]
\d--匹配任何十进制数;相当于[0-9]
\D--匹配任何非数字字符;相当于[^0-9]
\s--匹配任何空白字符;相当于[\t\n\r\f\v]
\S--匹配任何非空白字符;相当于[^\t\n\r\f\v]
\w--匹配任何字符数字字符;相当于[a-zA-Z0-9]
\W--匹配任何非字母数字字符;相当于[^a-zA-Z0-9]
5、{}:
1》{n}精确匹配n个前面表达式
2》{n,m}:匹配 n 到 m次由前面的正则表达式定义的片段,贪婪方式
6、re*:匹配*号前面表达式0到多次,0次即没有,最多支持20亿次
7、re+:匹配1个或多个的表达式。跟上面的*不同的是,他最少要求有1次。
贪婪方式:
9、compile(编译):当一个正则需要被多次使用的时候,可以使用complie方法将正则编译赋给一个变量。
10、re.I:大小写均可匹配。(修饰符)
11、re.match:尝试从字符串的开始匹配一个模式,匹配成功re.match方法返回一个匹配的对象matchobject,否则返回None。一般做是否能匹配的判断式,非贪婪模式:
9、compile(编译):当一个正则需要被多次使用的时候,可以使用complie方法将正则编译赋给一个变量。
语法:re.compile(正则,修饰符)*正则可以是已赋值的变量名,也可以直接是正则内容譬如:r'hello'。修饰符在下面逐一呈现
10、re.I:大小写均可匹配。(修饰符)
1》match用法:
13、re.findall:找到 RE匹配的所有子串,并把它们作为一个列表返回。这个匹配是从左到右有序地返回。如果无匹配,返回空列表2》使用match作为判断条件,执行语句块:
12、re.search:将字符串的所有字串尝试与正则表达式匹配,匹配成功返回对象matchobject,失败返回None。与match不同的是match只匹配开始,而search匹配所有。
15、.:匹配任意字符,除了换行符,
17、re.M:多行匹配,影响 ^ 和 $ M:MULTILINE
来自为知笔记(Wiz)
10、正则表达式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。