参考:
https://deerchao.cn/tutorials/regex/regex.htm#mission
基础:
- “\b” 是正则表达是的一个特殊代码,代表着字符的开始和结束。"\bhi\b",表示查找hi字符(不包括him,his这样的包含字符)
- ".* " :表示任意数量的不包含换行的字符。(. 表示匹配换行符之外的任何字符,* 表示数量)
- “\d” : 表示数字
exp:
- 0\d\d-\d\d\d\d\d\d\d\d:以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字
- 0\d{2}-\d{8}: 表示\d 连续重复匹配2次和8次
- “\s”:匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等
- “\w”:匹配字母或数字或下划线或汉字等
- “^”:匹配字符串的开始
- “$”:匹配字符串的结束
exp: 匹配5位–12位的数字:^\d{5,12}$
- 字符转义:"",当需要匹配特殊字符字符,比如.,*,\等字符,为防止解释为别的意思,需要添加""
exp:
- deerchao.cn 匹配 deerchao.cn
- C:\Windows 匹配 C:\Windows
- 重复
- “*” 重复零次或更多次
- “+” 重复一次或更多次
- “?” 重复零次或一次
- “{n}” 重复n次
- “{n,}” 重复n次或更多次
- “{n,m}” 重复n到m次
exp:
- Windows\d+:匹配Windows后面跟1个或更多数字
- ^\w+:匹配一行的第一个单词(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置)
字符类:
分支条件:
分组:
python 对正则表达式的支持
re 模块的核心方法
- compile(pattern, flags=0) 编译正则表达式返回正则表达式对象
# 创建表达式对象
- match(pattern, string, flags=0) 用正则表达式匹配字符串 成功返回匹配对象 否则返回None
- search(pattern, string, flags=0) 搜索字符串中第一次出现正则表达式的模式 成功返回匹配对象 否则返回None
- split(pattern, string, maxsplit=0, flags=0) 用正则表达式指定的模式分隔符拆分字符串 返回列表
- sub(pattern, repl, string, count=0, flags=0) 用指定的字符串替换原字符串中与正则表达式匹配的模式 可以用count指定替换的次数
- fullmatch(pattern, string, flags=0) match函数的完全匹配(从字符串开头到结尾)版本
- findall(pattern, string, flags=0) 查找字符串所有与正则表达式匹配的模式 返回字符串的列表
- finditer(pattern, string, flags=0) 查找字符串所有与正则表达式匹配的模式 返回一个迭代器
- purge() 清除隐式编译的正则表达式的缓存
- re.I / re.IGNORECASE 忽略大小写匹配标记
- re.M / re.MULTILINE 多行匹配标记
参考:
https://deerchao.cn/tutorials/regex/regex.htm#mission
基础:
- “\b” 是正则表达是的一个特殊代码,代表着字符的开始和结束。"\bhi\b",表示查找hi字符(不包括him,his这样的包含字符)
- ".* " :表示任意数量的不包含换行的字符。(. 表示匹配换行符之外的任何字符,* 表示数量)
- “\d” : 表示数字
exp:
- 0\d\d-\d\d\d\d\d\d\d\d:以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字
- 0\d{2}-\d{8}: 表示\d 连续重复匹配2次和8次
- “\s”:匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等
- “\w”:匹配字母或数字或下划线或汉字等
- “^”:匹配字符串的开始
- “$”:匹配字符串的结束
exp: 匹配5位–12位的数字:^\d{5,12}$
- 字符转义:"",当需要匹配特殊字符字符,比如.,*,\等字符,为防止解释为别的意思,需要添加""
exp:
- deerchao.cn 匹配 deerchao.cn
- C:\Windows 匹配 C:\Windows
- 重复
- “*” 重复零次或更多次
- “+” 重复一次或更多次
- “?” 重复零次或一次
- “{n}” 重复n次
- “{n,}” 重复n次或更多次
- “{n,m}” 重复n到m次
exp:
- Windows\d+:匹配Windows后面跟1个或更多数字
- ^\w+:匹配一行的第一个单词(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置)
字符类:
分支条件:
分组:
python 对正则表达式的支持
re 模块的核心方法
- compile(pattern, flags=0) 编译正则表达式返回正则表达式对象
- match(pattern, string, flags=0) 用正则表达式匹配字符串 成功返回匹配对象 否则返回None
- search(pattern, string, flags=0) 搜索字符串中第一次出现正则表达式的模式 成功返回匹配对象 否则返回None
- split(pattern, string, maxsplit=0, flags=0) 用正则表达式指定的模式分隔符拆分字符串 返回列表
- sub(pattern, repl, string, count=0, flags=0) 用指定的字符串替换原字符串中与正则表达式匹配的模式 可以用count指定替换的次数
- fullmatch(pattern, string, flags=0) match函数的完全匹配(从字符串开头到结尾)版本
- findall(pattern, string, flags=0) 查找字符串所有与正则表达式匹配的模式 返回字符串的列表
- finditer(pattern, string, flags=0) 查找字符串所有与正则表达式匹配的模式 返回一个迭代器
- purge() 清除隐式编译的正则表达式的缓存
- re.I / re.IGNORECASE 忽略大小写匹配标记
- re.M / re.MULTILINE 多行匹配标记