re正则表达式库的正则简介 正则表达式在很多语言里都支持,python也不例外,表达re模块就是式库正则表达式的应用 正则表达式对字符串的逻辑操作,主要是介入对字符串的一种过滤,用“元字符” 与“普通字符”组成一个字符串规则对已知的门使字符串或文本过滤出自己想要的字符串。 1、用方正则表达式元字符 \ 转义字符,正则将后边紧跟着的表达字符变成特殊字符,或将后边的式库特殊字符变成普通字符 如:在正则表达式中,"\n"换行符,介入"\\"则代表一个普通字符"\" ^ 匹配第一行行首,门使匹配多行需要传参 flags=re.MULTILINE $ 匹配最后一行行尾,用方匹配多行需要传参 flags=re.MULTILINE . 除"\r""\n"外,正则匹配任意的表达单个字符,要使"."匹配换行符,式库flags=re.DOTALL | 或,如 "aaa|bbb|ccc",表示"aaa","bbb","ccc"三选一 ? 匹配前边的子表达式0次或1次,等价于{ 0,1} + 匹配前边的子表达式1次或多次,等价于{ 1,} * 匹配前边的子表达式0次或多次,,香港云服务器等价于{ 0,} { } { n}匹配前边的子表达式n次,{ n,}匹配前边的子表达式至少n次 即:>= n,{ n,m}匹配前边的子表达式n~m次,即:n<= 表达式 <=m () 分组,从1开始,从左至右数"("为第几组,下标0为全部分组 [] 字符集匹配[]中的人一个字符,之匹配一次,如[abc]:表示"a","b","c"三选一。也可以给定范围(必须是连续的才行),如[a-z]:表示a到z任意一个字符。 还可以取反,如[^abc]:除"a","b","c"外的任意字符。注:[]中只有"^","-","\"三个特殊字符,其中"\"代表转义字符,其它的都代表原本普通的字符,如:[.]只是一个普通的点字符 注:要使用元字符本身的普通字符,请使用转义字符转义一下,如 :"\(" 在正则表达式中代表普通给"("字符,其它的雷同 re正则表达式库的源码下载入门 1、re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。 语法:re.match(pattern, string, flags=0) 参数说明: pattern 匹配的正则表达式 string 要匹配的字符串。 flags 标志位,用于控制正则表达式匹配的方式,如:是否区分大小写,多行匹配等等。 2、re.search方法 re.search 扫描整个字符串并返回第一个成功的匹配。 语法:re.search(pattern, string, flags=0) 参数说明: pattern 匹配的正则表达式 string 要匹配的字符串。 flags 标志位,用于控制正则表达式匹配的方式,如:是否区分大小写,多行匹配等等。 3、检索和替换 Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。 语法:re.sub(pattern, repl, string, count=0, flags=0) 参数: 无锡人流手术多少钱 http://www.chnk120.com/ pattern : 正则中的云服务器提供商模式字符串。 repl : 替换的字符串,也可为一个函数。 string : 要被查找替换的原始字符串。 count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。 4、re.compile 函数 compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。 语法:re.compile(pattern[, flags]) 参数: pattern : 一个字符串形式的正则表达式 flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为: re.I 忽略大小写 re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境 re.M 多行模式 re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符) re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库 re.X 为了增加可读性,忽略空格和 # 后面的注释 re正则表达式库的使用方法 1、去掉字符串中的所有括号及括号内容 #去掉字符串中的所有括号及括号内容 import re str="今天(1)天气{ 1}非常好啊,[1]是的。" str_sub = re.sub(u"\\(.*?\\)|\\{ .*?}|\\[.*?]", "", str) print(str_sub) 今天天气非常好啊,是的。
上一篇
下一篇