• 正则表达式


    正则表达式

    字符串的规则,给字符串定义一个规则

    作用:

    1  检测某一段字符串是否符合规则

    2  从一大段文字中将符合规则的匹配出来
    多用于爬虫中

    规则;

    元字符:

      匹配的是一个字符串的内容

    量词: 

      匹配的次数

    字符组:

    数字

    [0123456789]       #表示0到9之内的数字

    [0-9]       #表示0到9之内的数字

    不能使用[9-0],正则表达式不能从大到小,只能从小到大

    因为正则表达式的大小都是根据ASCII码表来判断的

    字母

    [a-z]      #小写字母

    [A-Z]      #大写字母

    [A-Za-z]      #大写字母和小写字母

    [A-Za-z0-9]           #大小写字母和数字

    [A-Za-z0-9_]   大小写字母,数字和下划线,(想要什么符号可以在括号内添加)

    顺序可以改变,如果使用需要查找特殊字符需要使用转义字符

    元字符

    d      #所有的数字

    w           # 所有的数字字母下划线

          #换行符

           #制表符

    s      #所有的空格,包括换行符和制表符

          # 表示一个单词的边界(放在字符的前面表示是否是这个字符结尾,放在字符的后面,判断是不是这个字符开头)

    反义词

    W        #除了数字字母下划线的所有
    D        #除了数字的所有
    S        #除了空白的所有
    .          #除了换行符之外的所有
    dD       #匹配所有
    wW       #匹配所有
    sS       #匹配所有

    非字符组:

    [^123]     #除了123之外的所有值

    ^       #开头 一个字符只有一个开始,必须在开头

    $      #结尾  一个字符只有一个极为,必须在末尾

    ###如果使用^开头,使用$结尾,这个字符串的长度就被规定死了,
    |        # 或者,左边的内容和右边的内容都是全集,且需要筛选的内容要与左边或者右边的内容全部相同。且,字符串长的必须放在符号的左边

    www.(baidu|oldbay).com 小括号表示分组,正则表达式会对括号内的内容进行匹配(类似于算运算的优先级)

    量词

    量词 {}:   在量词的范围内尽可能多的匹配
    d{9}          表示前面的紧挨着的规则必须连续出现
    {n}           表示出现n次
    {n,}          表示至少出现n次
    {n,m}         表示出现n到m次
    ?          表示匹配0次或1次(用来查看某个字符是否存在,如果存在只能存在一次)
    +          表示1次或多次
    *          表示匹配0次或多次

    正则表达式的特性:


    贪婪匹配(a.*x) :默认的
        将所有的字符串都查询,然后反向查找第一个x取正向查的a到反向查的第一个x
        在量词匹配时,尽可能多的匹配,查找从a开始到最后一个x之间的所有数据

    惰性匹配(a.*?x) :需要手动输入
        每查询一个值,就先看不是不是x,不是就交给.*处理
        尽可能的少匹配,查找从a开始到x之间的所有数据

  • 相关阅读:
    我见过的最完善的log4net配置
    根据身份证号中的日期判断某人是否已满18岁及是否已满60岁
    第三届“百越杯”福建省高校网络空间安全大赛
    PHP-上传文件
    PHP-操作Mysql
    PHP-异常处理
    PHP-错误处理
    Python(算法)-时间复杂度和空间复杂度
    Python-集合
    Python-字典
  • 原文地址:https://www.cnblogs.com/mk-lovefreedom/p/10572153.html
Copyright © 2020-2023  润新知