一、正则替换:
re.sub 是 Python 中 re 模块提供的正则表达式替换方法。其主要功能是在字符串中找到符合正则表达式模式的部分,并使用指定的替换字符串来替换这些匹配项。其基本语法如下:
re.sub(pattern, repl, string, count=0, flags=0)
- pattern:要搜索的正则表达式模式。
- repl:替换匹配项的字符串。 string:要进行替换的原始字符串。
- count(可选):指定替换的最大次数,默认为0,表示替换所有匹配项
- flags(可选):可选的标志,用于控制正则表达式的匹配方式,如re.IGNORECASE。
二、搜索指定的模式:
函数会在字符串 string 中搜索满足正则表达式模式 pattern 的第一个匹配项。
re.search(pattern, string, flags=0)
- pattern: 正则表达式模式,用于匹配字符串。
- string: 要搜索的字符串。
- flags:可选参数,用于指定匹配模式。例如,re.I 表示不区分大小写。 如果匹配成功,re.search 返回一个匹配对象,否则返回 None。
三、字符匹配:
^ #表示匹配字符串的开头。
\s+ #表示匹配一个或多个空白字符(包括空格、制表符、换行符等)。
\s* #匹配零个或多个空白字符。
| #表示逻辑或,即匹配前面或后面的模式。
\s+$ #表示匹配字符串的结尾,后面跟着一个或多个空白字符。
\d+ #匹配一个或多个数字
0x #匹配字面上的"0x"。
|\d+'h #或者匹配一个以数字开头、后面跟一个或多个数字和'h 的字符串。
([0-9a-f]+) #这是一个分组,匹配一个或多个十六进制数字字符。
([A-Z0-9_\[\]]+) #是一个正则表达式分组,表示匹配一个或多个大写字母、数字、下划线和方括号。
(0x|\d+'h) #这是一个分组,匹配十六进制的形式,可以是 0x 开头的十六进制,也可以是带有'h 后缀的十六进制。