Python笔记2–正则表达式字符匹配规则
就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,它内嵌在Python中,并通过 re 模块实现。
正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。
-
普通字符
大多数字符和字母都会和自身匹配
-
元字符
元字符 说明 . 匹配一个除了换行符的任意一个字符 ^ 之后后面跟的字符串在开头,才能匹配 $ 只有它前面的字符串在待检测的字符串的最后,才能匹配上 * 控制它前面的字符,前面的字符出现零个或多个都可以匹配上 + 匹配它前面的字符至少一次 ? 匹配它前面的字符零个到一个 {} 控制它前面一个字符的匹配个数,可以有区间(闭区间)。有区间的情况下按照多的匹配 \ 后面跟元字符去除特殊功能;后面跟普通字符实现特殊功能;引用序号对应的字组所匹配的字符串(一个括号为一个组);在开头加r表示不转义 | [] 匹配字符的类别,元字符在类别中不起作用 () 把括号内字符作为一个整体去处理 元字符 说明 \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_] \b 匹配一个单词边界,也就是指单词和空格间的位置 -
*例
strr=“cxy9527_cxyy_test_0422cx”
str1=“cxy*”
print(re.findall(str1,strr))输出:['cxy', 'cxyy', 'cx'] --- + +例 ```python strr="cxy9527_cxyy_test_0422cx" str1="cxy+" print(re.findall(str1,strr))
输出:[‘cxy’, ‘cxyy’]
-
?例
strr="cxy9527_cxyy_test_0422cx" str1
-