美文网首页
正则表达式入门

正则表达式入门

作者: 好多可乐 | 来源:发表于2019-02-11 01:02 被阅读0次

    正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

    下面是我自己学习的一些总结。这个真的有毒,前段时间学的,最近过年好久没碰又忘了,想想还是写一篇笔记记录一下

    元字符

    . 匹配除换行符外的任意字符

    \w 匹配字母数字下划线中文

    \s 匹配空格

    \d 匹配数字

    ^ 匹配字符串的开始

    $ 匹配字符串的结束

    上段代码

    s ="2222efr43243dsfg4r)_+"

    reg1 ="\d"  # 匹配全部数字

    reg2 ="^\d"  # 匹配开头的数字

    print(re.findall(reg2, s))

    反义字符:

    说白了就是元字符反过来就好了,可以一起记

    . 匹配除换行符外的任意字符

    \W 匹配非字母数字下划线中文

    \S 匹配非空格

    \D 匹配非数字

    限定符

    * 重复0次到多次

    + 重复1次到多次

    ? 重复0次到多次

    {n} 重复n次

    {n,} 重复n次到多次

    {m,n} 重复m次到n次

    分组匹配

    这里用关键词group来进行分组

    1,search:search返回的是一个匹配对象 ,调用对象的group方法获得字符串

    s ="my qq is 189334423,my post code is 33332"

    reg4 ="(\d{9}.*(\d{5}))"

    print(re.search(reg4, s))

    # group里面为空或者为1,返回的结果是一样的

    print(re.search(reg4, s).group())

    print(re.search(reg4, s).group(1))

    print(re.search(reg4, s).group(2))

    2, match:匹配开头

    s ="hellohello"

    reg5 ="hello"

    print(re.match(reg5, s,re.I).group())


    总结:

    findall 匹配所有

    match 匹配开头(必须出现在字符串第一个位置)

    search 匹配第一个(可以出现任意位置,只要是第一个就好)


    相关文章

      网友评论

          本文标题:正则表达式入门

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