zoukankan      html  css  js  c++  java
  • 【学习笔记】第二章 python安全编程基础---正则表达式

    一、python正则表达式

    定义:正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式相匹配;

    1.1RE模块:是python语言拥有全部的正则表达式功能的一个正则模块;

    常见RE模块的方法:

    创建模式对象compile(pattern)、在字符串中寻找模式search(pattern,string)、在字符串开始处匹配模式match(pattern,string)、

    列表形式返回匹配项findll(pattern,string)、替换字符串中的匹配项sub(pattern,string)、根据模式分割字符串split(pattern,string)

    a.创建模式对象compile(pattern)

    在字符串中寻找模式search(pattern,string)

    b.在字符串开始处匹配模式match(pattern,string)

    为什么是None,match方法是指在字符串开始处匹配asd,上面的b中开始处没有asd,所以没有结果是None;

    修改下如下:

    c.列表形式返回匹配项findll(pattern,string)---指匹配到字符串中所有的正则,返回结果是一个元组

    d.替换字符串中的匹配项sub(pattern,string),匹配到asd的字符串都替换成aaa

    e.根据模式分割字符串split(pattern,string--匹配到.分割,返回的是一个列表

    re.I不分大小写

    ^只匹配字符串的开头

    .匹配任意字符

    d 匹配一个数字字符,等价于【0-9】

    1.2贪婪模式和非贪婪模式

    正则表达式通常用于在文本中查找匹配的字符串,python里的数量词默认的是贪婪的,意思就是总是尝试匹配尽可能多的字符

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

    *?,+?,??,{m,n}?   前面的*,+,?等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成非贪婪匹配;

    例如:正则表达式“ab*” 如果用于查找“abbbc”,将找到“abbb”。

    而如果使用非贪婪方法“ab*?”,将找到“a”。

    二、正则表达式练习

    爬虫一个网站:http://www.huya.com/

    爬取了整个页面的代码

    现在我们要刷选出“游戏”的字符串

  • 相关阅读:
    HTB-靶机-Charon
    第一篇Active Directory疑难解答概述(1)
    Outlook Web App 客户端超时设置
    【Troubleshooting Case】Exchange Server 组件状态应用排错?
    【Troubleshooting Case】Unable to delete Exchange database?
    Exchange Server 2007的即将生命周期,您的计划是?
    "the hypervisor is not running" 故障
    Exchange 2016 体系结构
    USB PE
    10 months then free? 10个月,然后自由
  • 原文地址:https://www.cnblogs.com/tianyu2018/p/10842084.html
Copyright © 2011-2022 走看看