正则表达式——基础篇

    技术2022-07-10  130

    正则表达式

    正则表达式一种让字符串处理更简单的工具(本质是做字符串匹配的) re模块python提供的专门使用正则表达式的相关函数 fullmatch(正则表达式,字符串) - 让正则表达hi和字符串进行完全匹配,如果匹配失败,结果为None。 正则是一个特殊的字符串

    js中的正则:/正则表达式/python的正则:r’正则表达式’ 普通字符 - 表示字符本身

    特殊字符

    特殊字符含义.匹配一个任意字符\w匹配任意一个数字、字母或则下划线(只针对ascii码有效)\d匹配任意一个数字字符\D匹配任意一个非数字字符\s匹配任意一个空白字符\S匹配任意一个非空白字符[字符集]匹配字符集中出现的任意一个字符[A-Z]匹配任意一个大写字母字符[a-z]匹配任意一个小写字母字符[a-zA-Z]匹配任意一个字母字符[0-9]匹配任意一个数字字符[\u4e00-\u9fa5]匹配任意一个中文字符[a-zA-Z0-9]匹配任何字母及数字[^字符集]取不在字符集中任意的一个字符

    检测符号

    单词边界:字符串开头、字符串结尾、凡是能区分出两个不同单词的符号 注意:检测类的符号不影响匹配的长度,只是在匹配成功的时候做进一步的检测

    检测字符串含义^检测^所在的位置是否是字符串开头,例,\b检测是否是单词的边界$检测$所在的位置是否是字符串结尾\B检测是否不是单词的边界

    匹配次数

    符号含义*匹配0次或多次+匹配1次或多次?匹配0次或1次{n}匹配n次{m,n}匹配m到n次{m,}至少m次{,n}最多n次

    贪婪和非贪婪

    在匹配次数不确定的情况下,匹配模式分为两种:贪婪和非贪婪

    贪婪:默认都是贪婪的(在能匹配到的前提下匹配次数尽可能多)

    *、+、?, {M,N}、{M,}、{,N}

    非贪婪:在匹配次数不确定的时候,次数后面加问号,匹配就是非贪婪的。(在能匹配到的前提下匹配次数尽可能少的匹配) *?、+?、??、{M,N}?、{M,}?、{,N}?

    分支

    符号: |(或者) 格式:正则1|正则2|正则3…

    分组

    符号:()(整体)

    整体操作

    重复

    \M - 重复前面第M个分组匹配到的内容(M从1开始)

    转义符号: 在具有特殊功能或者特殊意义的符号前加,让功能消失。 注意:独立存在有特殊功能的符号在[]中功能会自动消失

    (?i):忽略大小写

    (?s):单行匹配

    (?m):多行匹配,默认的

    单行和多行匹配:单行匹配.可以和\n匹配,多行匹配不行。

    Processed: 0.013, SQL: 9