美文网首页我爱编程
正则基本操作

正则基本操作

作者: 糖炒栗子_01c5 | 来源:发表于2018-08-09 19:24 被阅读0次

    在Python中要使用正则首先要导入模块

    #pattern:是你构建的正则表达式对象,可以是个字符串

    在re中有几个方法:

    1.match 从头开始匹配,只匹配一次,3.匹配到结果后立即返回,并且可以使用group方法获取匹配结果,如果没有匹配到结果返回None

    2.search:从头开始匹配,单次匹配,会在整个字符串中找目标,一旦匹配到立即返回,如果整个字符串中都没有,返回None

    3.findall:会根据你写的正则表达式,在字符串中匹配结果,会返回所有查找到的结果,返回的结果是一个列表。

    4.sub:先根据正则表达式查找到要匹配的字符串,然后使用一个新的字符串,去替换查找到的字符串。

    5.split:会根据你正则表达式里面的符号做字符串的分割,返回的是一个列表

    6.finditer:跟findall很像,不过返回的结果是一个可迭代对象。

    匹配单个字符

    .匹配任意1个字符(除了\n)

    [ ]匹配[ ]中列举的字符

    \d匹配数字,即0-9

    \D匹配非数字,即不是数字

    \s匹配空白,即 空格,tab键

    \S匹配非空白

    \w匹配单词字符,即a-z、A-Z、0-9、_

    \W匹配非单词字符

    匹配多个字符

    *匹配前一个字符出现0次或者无限次,即可有可无

    +匹配前一个字符出现1次或者无限次,即至少有1次

    ?匹配前一个字符出现1次或者0次,即要么有1次,要么没有

    {m}匹配前一个字符出现m次

    {m,n}匹配前一个字符出现从m到n次

    匹配开头结尾

    ^ \A 匹配字符串开头

    $ \Z 匹配字符串结尾

    分组匹配方式

    |匹配左右任意一个表达式

    (ab)将括号中字符作为一个分组

    \num引用分组num匹配到的字符串

    (?P)分组起别名

    (?P=name)引用别名为name分组匹配到的

    贪婪和非贪婪

    Python里数量词默认是贪婪的,总是尝试匹配尽可能多的字符;

    非贪婪则相反,总是尝试匹配尽可能少的字符。

    在"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪。

    *? 重复任意次,但尽可能少重复

    +? 重复1次或更多次,但尽可能少重复

    ?? 重复0次或1次,但尽可能少重复

    complie函数

    import re 将正则表达式编译成 Pattern 对象 pattern = re.compile(r'\d+')

    修饰符号 描述 re.I 使用匹配对大小写不敏感(不区分大小写) re.S 使.匹配包括换行符在内的所有字符 re.M 多行匹配 re.L 做本地化识别

    match 方法:从起始位置开始查找,一次匹配

    search 方法:从任何位置开始查找,一次匹配

    findall 方法:全部匹配,返回列表

    finditer 方法:全部匹配,返回迭代器

    split 方法:分割字符串,返回列表

    sub 方法:替换

    mysql正则查询

    可以用select语句来查询,使用Like  和 regexp 关键字 

    LIKE匹配整个列。

    而REGEXP在列值内进行匹配,如果被匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回。

    .匹配任意1个字符(除了\n)

    [ ]匹配[ ]中列举的字符

    \d匹配数字,即0-9

    \D匹配非数字,即不是数字

    \s匹配空白,即 空格,tab键

    \S匹配非空白\w匹配单词字符,即a-z、A-Z、0-9、_

    \W匹配非单词字符

    *匹配前一个字符出现0次或者无限次,即可有可无

    +匹配前一个字符出现1次或者无限次,即至少有1次

    ?匹配前一个字符出现1次或者0次,即要么有1次,要么没有

    {m}匹配前一个字符出现m次

    {m,n}匹配前一个字符出现从m到n次

    ^匹配字符串开头$匹配字符串结尾

    |匹配左右任意一个表达式

    (ab)将括号中字符作为一个分组

    \num引用分组num匹配到的字符串

    (?P<name>) 分组起别名

    (?P=name) 引用别名为name分组匹配到的字符串

    相关文章

      网友评论

        本文标题:正则基本操作

        本文链接:https://www.haomeiwen.com/subject/brecbftx.html