• 正则表达式


    特殊字符:.|*?+(){}[]^$,相当于语言的关键字,这些字符前面加转义符""表示字符本身,否则就作为正则表达式特殊用途字符。

    .+?表示最小匹配,?表示非贪婪匹配

    举例说明.+?与.+的区别
    <a href="xxx"><span>
    如果用<.+>匹配,则匹配结果是
    <a href="xxx"><span>
    如果用<.+?>匹配,则匹配结果是
    <a href="xxx">
    也就是.+?只要匹配就返回了,不会再接着往下找了

    正则表达式:(?<=(href=")).{1,200}(?=(">))

    解释:(?<=(href=")) 表示 匹配以(href=")开头的字符串,并且捕获(存储)到分组中

    (?=(">)) 表示 匹配以(">)结尾的字符串,并且捕获(存储)到分组中

    [ ] 方括号在这里被叫做原子表,它能够匹配括号中出现的任意一个元素

    [abcd] //匹配abcd中任意一个字母
    [!@#] // 匹配!@#中任意一个符号
    [0-9] //匹配0,1,2,3,4,5,6,7,8,9中任意一个数字

    三个常用的特殊符号: * + ?

      • * 星号可以匹配前面出现的元素0次,1次或任意多次
      • + 加号可以匹配前面出现的元素1次或任意多次
      • ? 问号可以匹配前面出现的元素0次或1次
    ab* //匹配 a,ab,abb,abbb.......
    ab+ //匹配 ab,abb,abbb,abbbb.......
    ab? //匹配 a,ab

    ( ) 圆括号在这里被叫做模式单元符,他能够将一些元素组合成一个大的,不可分割的新元素,类似于括号在正常运算中的作用。

    (ab*)? //匹配 空串 或 a,ab,abb,abbb.......
    (ab+)? //匹配 空串 或 ab,abb,abbb,abbbb.......
    (ab?)? //匹配 空串 或 a,ab

    匹配任意字符:.(除换行符)

    a.c  //匹配aac,abc,acc,adc.......

       转义符 : 如果想要匹配本身拥有特殊意义的符号,可以使用转移符

    . // 匹配一个小数点

    边界限制字符:^ $

    • ^ 匹配字符串的开始
    • $ 匹配字符串的结束
    ^a.* //匹配以a开头的字符串
    .*a$ //匹配以a结尾的字符串
  • 相关阅读:
    搜狗浏览器
    解决vs2010无法找到System.Data.OracleClient的引用问题
    实体C# 反射动态给属性赋值
    三层的中间层,
    电脑开机时出现DHCP
    java and eclipse for linux install
    H3C阻止mac地址上网方法
    为什么我的电脑打开CHM文件无法显示内容
    Cannot complete the install because one or more required items could not befound
    linux下查看端口的占用情况
  • 原文地址:https://www.cnblogs.com/lxqiaoyixuan/p/8543089.html
Copyright © 2020-2023  润新知