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

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

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

    举例说明.+?与.+的区别
    <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结尾的字符串
  • 相关阅读:
    ildasm ilasm的使用,并汉化软件
    Rectangle.Inflate
    cookie 老丢失
    div高度自适应
    css li 空隙问题
    jquery 提交乱码问题
    VS2010创建并使用DLL
    建网站的问题
    Delphi中本年、本月、本周第一天和最后一天
    DLL(OCX)文件注册与反注册方法(regsvr32用法)
  • 原文地址:https://www.cnblogs.com/lxqiaoyixuan/p/8543089.html
Copyright © 2011-2022 走看看