温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

re正则表达式库的简介、入门、使用方法

发布时间:2020-08-11 11:26:40 来源:ITPUB博客 阅读:142 作者:ckxllf 栏目:编程语言

  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)

  '今天天气非常好啊,是的。'

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI