""" 总结: . 匹配任意字符除了(\n) ^ 开头, 如果是[^a_z]表示非 $ 匹配到结尾 [] 范围 a_z A_Z 符号 预定义: \s 匹配空格 \b 边界 如:\b[a-zA-Z]\w*\.py\b \d 匹配数字 \w [0-9a-zA-Z_] 如果是反面则大写 如:\S 非空格 \D 非数字 如果匹配长度 量词 * + ? *(星号): 匹配前面的字符零次或多次例如,ab*可以匹配“a”、“ab”、“abb”、“abbb”等。 +(加号): 匹配前面的字符至少一次。例如,ab+可以匹配“ab”、“abb”、“abbb”等。 ?(问号): 匹配前面的字符零次或一次。例如,ab?可以匹配“a”和“ab”两个字符串 手机号码正则 re.match('1[35789]\d{9}$',phone) {9}固定9位 {6,}大于6位 {,9}小于9位 | 逻辑运算 可以理解为or () 来捕获匹配的内容 演示案例: 1.匹配不包括字母a到z的任何字符,可以使用:[^a-z] 2.匹配任意的一个数字,可以使用:\d 3.匹配以".py"结尾的单词,可以使用:\b\w*.py\b (其中\b匹配单词边界,\w匹配任意单词字符,*匹配任意个数) 4.匹配手机号码,可以使用:re.match('1[35789]\d{9}$', phone) (其中1[35789]匹配开头为1和3、5、7、8、9之一的数字,\d{9}匹配固定的9位数字,$以结尾) 使用量词可以匹配特定数量的重复元素: 1.匹配6个或更多数字的密码,可以使用:\d{6,} 2.匹配少于9个数字的号码,可以使用:\d{,9} 使用逻辑运算符|可以匹配多个模式之一: 1.匹配以www或http开头的URL,可以使用:(www|http)://\S+ 使用括号()可以捕获匹配的内容: 2.匹配日期格式为yyyy-mm-dd,可以使用:(\d{4})-(\d{2})-(\d{2})(其中\d匹配任意数字字符,{n}匹配n次) HTML标签正则 可以使用分组的方式获取如 htm = '<html><h1>abc</h1></html>' result = re.match(r'<(?P<name1>\w+)><(?P<name2>\w+)>(.+?)</(?P=name2)></(?P=name1)>',htm) print(result.group(3)) # 输出abc """
Python re正则语法
于 2023-03-20 22:42:10 首次发布