zoukankan      html  css  js  c++  java
  • 正则表达式

    re模块操作正则表达式(正则表达式本身是另外一种语言规范)

    正则表达式:通过一个规则来从一段字符串中找到符合规则的内容//判断某段字符串是否符合规则

    用处 :1. 注册页/网页上要求输入一个信息,判断输入的信息是否格式正确

    2.爬取数据,从网页上把代码以字符串的形式下载,回到内存,提取这个大字符串中想要的内容

    规则: 匹配  待匹配的字符串

    正则规则:

    1. 字符组:约束字符中某一个字符位置上的值是什么 , 只要是出现在字符组中的内容都算匹配到了.

    2."[3-9]"从小到大的顺序是根据ASCII码的顺序来的

    3.匹配数字[0-9]匹配字母[A-Za-z] 匹配数字和字母[0-9A-Za-z]   [0-9a-fA-F]匹配十六进制

    元字符:

    . 除了 (换行)不能匹配其他都可以匹配.

    d  匹配所有的数字

    s  匹配空白符

    w  匹配数字,字母,下划线.

      匹配换行符

      匹配制表符(Tab键)

      匹配一个单词的两端

    ^  匹配字符串的开始 (用法:放在要匹配字符的开始)

    $  匹配字符串的结尾 (用法:放在要匹配字符的结尾)

    W  匹配非字母 ,数字 ,下划线 的下划线

    S  匹配非空白符的字符串

    D  匹配非数字的字符串

    [....] 匹配字符组中的所有字符

    [^...]  匹配非字符组中的所有字符

    a|b  匹配字符a 或字符b    字符长的放在前面

    ()  匹配括号内的表达式,也表示一个组.

    *  重复零次或更多次

    + 重复一次或更多次

    ?  重复零次或一次

    {n}  重复n次

    {n, }  重复n或更多次

    {n,m} 重复n到m次

    d+(.d+)?  匹配小数

    d.+ 贪婪匹配    d.+?  非贪婪匹配

    ?在量词后面不表示量词,表示惰性,尽量少匹配.

    d.*?x  意思是:从数字开始匹配,直到遇到x停下来.(前面取任意长度,直到一个x出现停下来)

    贪婪匹配:正则表达式本身就是贪婪匹配的

    惰性匹配:尽量少匹配,需要在量词的后面加上一个?,最常见的用法:.*?标识,表示匹配任意长度的字符遇到标识就立刻停止.

    看正则表达式怎么区分?

    找元字符,元字符后面如果出现量词,那么这个量词就是约束这个元字符出现的次数.如果元字符没有量词出现,表示匹配一次.如果量词后面有?表示惰性匹配.

    r"\n"  r" "

    print("\n")

    print("\\n")

    print(r" ")  #取消字符串中所有转义符的转义作用

    print(r"\n")

    在正则表达式中,涉及到特殊转义的内容,都放在 r""中.

    在工具网页上匹配成功之后,在python中匹配不成功,匹配的字符串中又带有 "" 那么直接将测试好的内容都放在 r""中

    正则表达式本身具有处理字符串的能力.

    如果要处理的字符串存在python的内存里,通过re模块----->操作正则表达式

  • 相关阅读:
    Memcached 笔记与总结(9)Memcached 与 Session
    python禁止函数修改列表的实现方法
    python禁止函数修改列表的实现方法
    大数据是工业的核心资源 企业入局需合理把握
    大数据是工业的核心资源 企业入局需合理把握
    Python执行时间的计算方法小结
    Python执行时间的计算方法小结
    大数据无处不在 企业实践指南有哪些?
    大数据无处不在 企业实践指南有哪些?
    python条件变量之生产者与消费者操作实例分析
  • 原文地址:https://www.cnblogs.com/fengkun125/p/9306666.html
Copyright © 2011-2022 走看看