正则表达式re模块的详解-python

时间:2022-06-01 19:33:02

1.元字符([ ]),它用来指定一个character class。所谓character classes就是你想要匹配的字符(character)的集合.字符(character)可以单个的列出,也可以通过"-"来分隔两个字符来表示一个范围。例如,[abc]匹配a,b或者c当中任意一个字符,[abc]也可以用字符区间来表示---[a-c].如果想要匹配单个大写字母,你可以用[A-Z]。

2.元字符[^]. 你可以用补集来匹配不在区间范围内的字符。其做法是把"^"作为类别的首个字符;其它地方的"^"只会简单匹配 "^"字符本身。例如,[^5] 将匹配除 "5" 之外的任意字符。同时,在[ ]外,元字符^表示匹配字符串的开始,如"^ab+"表示以ab开头的字符串。

3. 元字符(\),元字符backslash。做为 Python 中的字符串字母,反斜杠后面可以加不同的字符以表示不同特殊意义。

4.元字符($),匹配字符串的结尾或者字符串结尾的换行之前。

5.元字符(*),匹配0个或多个

6.元字符(?),匹配一个或者0个

7.元字符(+), 匹配一个或者多个
8,元字符(|), 表示"或",如A|B,其中A,B为正则表达式,表示匹配A或者B

9.元字符({})

re.match

  • 在字符串的开始位置匹配,如果匹配成功将返回MatchObject(值为True),否则返回None(值为False)。
  • 函数原型
def match(pattern, string, flags=0)
  • 参数说明 
    • pattern:正则表达式
    • string:要匹配的字符串
    • flags:控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等

re.search

  • 检测整个字符串,找到第一个匹配项,如果匹配成功将返回MatchObject(值为True),否则返回None(值为False)。
  • 函数原型
def search(pattern, string, flags=0)
  • 参数说明 
    • pattern:正则表达式
    • string:要匹配的字符串
    • flags:控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等

re.sub

  • 将字符串中的匹配项替换为其他
  • 函数原型
def sub(pattern, repl, string, count=0, flags=0)
  • 参数说明 
    • pattern:正则表达式,匹配被替换的项
    • repl:替换为该项
    • string:要匹配的字符串
    • count:替换的个数,默认为0时表示全部替换

re.split

  • 根据匹配项来分割字符串
  • 函数原型
def split(pattern, string, maxsplit=0, flags=0)
  • 参数说明 
    • pattern:正则表达式
    • string:要匹配的字符串
    • maxsplit:最大的分割次数,默认为0时表示全部分割

re.findall

  • 获取字符串中的所有匹配项
  • 函数原型
def findall(pattern, string, flags=0)
  • 参数说明 
    • pattern:正则表达式
    • string:要匹配的字符串

re.compile

  • 把正则表达式(以字符串书写的)编译成一个模式对象,提高一定的匹配效率,可用来重复使用
  • 函数原型
def compile(pattern, flags=0)