python 学习之:正则表达式(1)---- 可选函数参数

时间:2022-07-24
本文章向大家介绍python 学习之:正则表达式(1)---- 可选函数参数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、前言

什么是正则表达式?

正则表达式是一个特殊的字符序列,能够帮助我们方便的检查一个字符串中是否与某种模式匹配。比如说,我们接口中的token,cookie信息,还有爬虫爬取到数据之后进行匹配等等。都是可以运用正则表达式。

二、可选函数参数

函数参数是re.py里面规定好的,如图(详情可以查看 re.py 文件):

1、先说一下每一个函数大概的意思是什么 :

a. A ASCII:对于字符串模式,请生成 w, W, b, B, d, D. 匹配相应的ASCII字符类别(而不是整个Unicode类别,这是默认的)。对于字节模式,此标志是唯一可用的行为,无需指定。

b.I IGNORECASE:执行不区分大小写。

c.L LOCALE:根据当前的区域设置,使用 w, W, b, B。

d.M MULTILINE:多行匹配。“^”匹配行的开头(换行后)以及字符串。“$”也匹配行尾(在换行符之前)作为字符串的结尾。

e.S DOTALL:“.”匹配任何字符,不包括换行符。

f.X VERBOSE:忽略空格和注释。

g.U UNICODE:仅用于兼容性。忽略字符串模式(它是默认值),并禁止字节模式。

2、用法,这里就借用W3CSchool的写法,如下:

import re
 
line = "Cats Are Smarter Than Dogs n Dogs is big happy"
 
matchObj = re.match(r'(.*) are (.*?) .*', line, re.I)
 
if matchObj:
    print("matchObj.group(): ", matchObj.group())
    print("matchObj.group(1): ", matchObj.group(1, 2))
    print("matchObj.group(2): ", matchObj.group(2))
else:
    print("No match!!")

这里,我使用了re.I这个方法,那么执行就是忽略大小写。那么就能够匹配出结果。