re
是Python中用于处理正则表达式的内置库,提供了许多有用的方法。以下是其中几个常用的方法:
re.match(pattern, string)
: 尝试从字符串的开头匹配一个模式,如果匹配成功则返回匹配对象,否则返回None
。re.search(pattern, string)
: 在整个字符串中搜索匹配给定模式的第一个位置,并返回匹配对象。re.findall(pattern, string)
: 查找字符串中所有与模式匹配的非重叠部分,并返回一个列表。re.sub(pattern, repl, string)
: 使用指定的替换字符串或函数替换字符串中与模式匹配的所有出现。re.compile(pattern)
: 将正则表达式编译为模式对象,以便重复使用。这只是re
库中一些常用方法的示例,还有其他方法和参数可以根据具体需求进行使用。详细的使用文档可以在Python官方文档中查找。
以下是一些常用的正则表达式模式:
\d
或 [0-9]
,用于匹配任意一个数字字符。[a-zA-Z]
,用于匹配任意一个字母(大小写不区分)。\w
或 [a-zA-Z0-9_]
,用于匹配任意一个字母、数字或下划线。\s
,用于匹配任意一个空格、制表符、换行符等空白字符。.
,用于匹配任意一个字符(除了换行符)。*
:零次或多次重复(贪婪匹配)。+
:一次或多次重复(贪婪匹配)。?
:零次或一次重复。{n}
:恰好重复 n 次。{n,}
:至少重复 n 次。{n,m}
:重复 n 到 m 次。^
:字符串的开头。$
:字符串的结尾。\b
:单词的边界。[...]
:匹配方括号内的任意一个字符。[^...]
:匹配除了方括号内指定的字符以外的任意一个字符。匹配邮箱地址:
^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
匹配 URL:
^(https?|ftp)://[^\s/$.?#].[^\s]*$
匹配手机号码(简化版):
^1\d{10}$
匹配日期(YYYY-MM-DD 格式):
^\d{4}-\d{2}-\d{2}$
匹配身份证号码(18位):
^\d{17}[\dXx]$
匹配IP地址:
^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$
匹配HTML标签(简化版):
<([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>.*?\1>