|
基本语法.:匹配任意单个字符(除换行符外)^:匹配字符串的开始$:匹配字符串的结束[]:匹配字符集中的任何一个字符。例如,[a-z]匹配任意小写字母|:匹配左边或右边的表达式。例如,a|b匹配'a'或'b'量词*:匹配前面的字符零次或多次+:匹配前面的字符一次或多次?:匹配前面的字符零次或一次{n}:匹配前面的字符恰好n次{n,}:匹配前面的字符至少n次{n,m}:匹配前面的字符至少n次,但不超过m次预定义字符类\d:匹配任意数字,相当于[0-9]\D:匹配任意非数字字符\w:匹配任意字母、数字和下划线,相当于[a-zA-Z0-9_]\W:匹配任意非字母、数字和下划线字符\s:匹配任意空白字符(空格、制表符、换行符等)\S:匹配任意非空白字符分组和捕获():用于分组和捕获。例如,(abc)+匹配一个或多个'abc'(?:...):非捕获分组,用于分组但不捕获匹配的内容(?P...):捕获分组并为其指定名字。例如,(?P\d{4})用于捕获年份反向引用\1,\2,...:反向引用前面捕获的组。例如,(a)\1匹配'aa'特殊字符\:转义字符。例如,\.匹配点号.(?=...):正向先行断言。例如,(?=\d)匹配紧跟在数字前的位置(?示例:匹配:13812345678不匹配:12345678901,19876543212.身份证号码中国身份证号(15位或18位数字,18位可包含字母X)pattern=r'^\d{15}|\d{17}[\dXx]示例:匹配:123456789012345,123456789012345678,12345678901234567X不匹配:12345678901234,12345678901234567893.邮箱地址一般的邮箱地址(符合大多数邮箱格式)pattern=r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}示例:匹配:example@example.com,user.name@sub.domain.com不匹配:example@com,@example.com 4.日期(yyyy-mm-dd格式)日期(年-月-日,年份为四位,月份和日期为两位,支持闰年)pattern=r'^\d{4}-\d{2}-\d{2}示例:匹配:2024-08-25不匹配:2024-8-25,25-08-2024 5.时间(hh:mm格式) 时间(24小时制,时、分、秒各为两位)pattern=r'^\d{2}:\d{2}:\d{2}示例:匹配:14:30:00不匹配:25:00:00,14:30 6.URL 一般URL(包括http/https,主机名,端口,路径等)pattern=r'^(https?|ftp)://[^\s/$.?#].[^\s]*示例:匹配:http://www.example.com,https://example.com/path/to/resource不匹配:http://,example.com7.IP地址(IPv4) IPv4地址(四组数字,每组0-255)pattern=r'^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)示例:匹配:192.168.1.1,255.255.255.255不匹配:256.256.256.256,192.168.1.2568.银行卡号 银行卡号(通常为16-19位数字)pattern=r'^\d{16,19}示例:匹配:1234567812345678,1234567812345678901不匹配:12345678,12345678123456789012 9.车牌号码 中国车牌号码(包括字母和数字,通常为7位)pattern=r'^[A-Z][A-Z0-9]{6}示例:匹配:京A12345,粤B12345不匹配:1234A567,A1234 10.中文字符匹配中文字符(包括汉字)pattern=r'^[\u4e00-\u9fa5]+示例:匹配:你好,测试不匹配:hello,hello你好
|
|