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

    正则表达式实用目的:1.判断用户输入的数据是否符合要求   2.爬取数据筛选自己想要的信息

    匹配单个字符:

    字符 功能 
    . 匹配任意1个字符(除了 )
    [] 匹配[]中列举的字符中的一个
    d   匹配数字,即0-9
    D 匹配非数字,即不是数字
    s 匹配空白,即空格 tab键
    S   匹配非空白
    w 匹配单词字符,即a-z,A-Z,0-9,_
    W   匹配非单词字符

    匹配多个字符:

    字符 功能
    * 匹配前一个字符出现0次或者无限次,即可有可无
    + 匹配前一个字符出现1次或者无限次,即至少一次
    匹配前一个字符出现1次或者0次,即要么有1次,要么没有
    {m} 匹配前一个字符出现m此
    {m,n} 匹配前一个字符出现从m到n次

    匹配开头结尾:

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

    匹配分组:

    字符 功能
    | 匹配左右任意一个表达式
    (ab) 将括号中字符作为一个分组/括号好可以单独取出括号内的内容
    um 引用分组num匹配到的字符串
    (?P<name>) 分组起别名
    (?P=name) 引用别名为name分组匹配到的字符串

    re高级用法:

    1.math(pattern, string [,flags]):从字符串开始处匹配

      pattern   模式字符串(正则表达式)

      string      要匹配的字符串

      [flags]     可选参数,表示标志位,用于控制匹配方式。比如是否区分大小写

    2.sarch(pattern, string [,flags]):在整个字符串中搜索第一个匹配的值

    3.findall(pattern, string [,flags]):在整个字符串中搜索所有符合正则表达式的字符串 —— 返回一个列表

    4.sub(pattern, repl, string [,count] [,flags]):替换字符串

      count   可选参数,表示匹配后替换的最大次数

      repl    要替换成的字符串(也可以是一个函数),例:

     1 import re
     2 
     3 
     4 def add(temp):
     5     # 通过匹配到的字符串的引用调用group方法可以取匹配的字符串的值,即"997"和"99"
     6      str_num = temp.group()
     7      new_num = int(str_num) + 1
     8     # 返回什么,正则表达式中匹配的字符串替换成什么
     9      return str(new_num)
    10 
    11 
    12 # sub中替换的内容为一个函数时,会将正则表达式匹配到的字符串的引用传入到函数内部
    13 ret = re.sub(r'd+', add, "years = 997")
    14 print(ret)
    15 
    16 ret = re.sub(r'd+', add, "years = 99")
    17 print(ret)
    18 
    19 # 结果:
    20 years = 998
    21 years = 100

    5.split(pattern, string, [,maxsplit] [,flags]]:分割字符串,例:

      按冒号(:)或者空格 将字符串切割,返回一个列表

    1 import re
    2 
    3 ret = re.split(r':| ', 'https://www. baidu. com')
    4 print(ret)
    5 
    6 # 结果:
    7 ['https', '//www.', 'baidu.', 'com']
  • 相关阅读:
    缺陷管理、分类、提交
    selenium2.0处理case实例(二)
    Robot Framework自动化测试(六)--- robotremoteserver使用
    Robot Framework自动化测试(五)--- 开发系统关键字
    Robot Framework自动化测试(四)--- 分层思想
    Robot Framework自动化测试(三)---Selenium API
    Robot Framework自动化测试(二)---元素定位
    Robot Framework自动化测试(一)---第一个脚本
    python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
    Python 基于http接口自动化测试
  • 原文地址:https://www.cnblogs.com/zzmx0/p/12694736.html
Copyright © 2011-2022 走看看