zoukankan      html  css  js  c++  java
  • 正则表达式基础用法

    参考文档  正则表达式必知必会  Ben Forta著 杨涛译

    一、  正则表达式用途  搜索和替换   正则表达式是用来匹配和处理文本的字符串

    二、 元字符分为两种,  一种匹配文本的(例如.  *), 一种是正则表达式语法所要求的(例如[])。这些元字符要匹配自己本事需要转义""

    空白元字符

     

     

    “贪婪型”元字符,进行匹配时是”多多益善而不是适可而止”

    ”懒惰型”元字符,进行匹配时是“匹配尽可能少的字符”

     

    五、位置匹配

     cat   用来匹配完整的单词,只匹配一个位置,单词边界,不匹配任何字符
    B          不匹配单词边界

     

    子表达式

    子表达式的作用是把同一个表达式的各个相关部分组合在一起,对重复次数元字符的作用对象作出京珠的设定和控制、对"|"操作的OR条件作出准确的定义

    子表达式将多个元素作为一个元素处理,用(),例如(abc)指必须匹配abc的字符串,abc作为独立元素,相当于一个元素

    子表达式中的或用"|",例如(19|20) 指的是19或20

    子表达式回溯引用

     小结:

    使用元字符
    [w.]+@[w.]+.w    匹配合法电子邮箱地址  
    [1-9][d]{1,3}[-]d{1,2}[-]d{1,2}

    匹配IP地址
    (([1-9]|[1-9][0-9]|1d{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]|[1-9][0-9]|1d{2}|2[0-4][0-9]|25[0-5])
    一位数字非0
    两位数字,第一位不是零
    1开头的任意三位数字
    2开头的,第二位在0-4之前的任意三位数字
    25开头的,第三位在0-5之间的三位数字

    匹配重复次数
    +  匹配前面的字符或字符集合一次或多次  
    *  匹配前面的字符或字符集和集合零次或多次   
    ?  匹配前面的字符或字符集合零次或一次
    {2,4} {6}  匹配前面的字符或字符集合具体次数
    {3,}     匹配前面的字符或字符集合至少多少次
    {,3}     匹配前面的字符或字符集合最多多少次
    在字符集合中[.+] 不需要转义,默认是普通字符

    位置匹配
    cat   用来匹配完整的单词,只匹配一个位置,单词边界,不匹配任何字符
    B          不匹配单词边界
    ^   只在[]中,紧跟[后面时,是非的意思,在字符集合外面,并位于一个模式的开头,^将匹配字符串的开头
    $   匹配字符串或字符集合的结尾

    子表达式
    (),例如(19|20|21)d{2}   指的是以19、20、21开头的四位数字

    表达式的回溯引用  前后一致引用
    []+(w+)[]+1   1代表第一个子表达式()  2代表第二个子表达式  我们可以把回溯引用理解为变量  代表整个正则表达式

    正则中 []、() 、{}区别

    []  指匹配其中一个即可,例如[abc],只要匹配abc中的一个字母就可以

    () 将()中的表达式看做一个元素,例如(abc)指匹配到abc的字符串

    {} 指的是前面表达式匹配的次数

     

     

  • 相关阅读:
    H50062:meta 定义浏览器的渲染方式
    PHPJN0004:PHP文件上传被安全狗拦截处理
    APP0006- 提示弹窗
    MySQL0002:命令行操作数据库常用命令
    APP0005- data属性的定义
    CSS0018: 字体超长自动隐藏
    JS_0041:JS加载JS文件 异步同步加载js文件
    CSS0017: DIV 上下左右都居中样式
    CSS0016: 多个DIV并排均匀分布 box-sizing
    H50061:html 中引入外部 html 片段
  • 原文地址:https://www.cnblogs.com/yxqnote/p/10108340.html
Copyright © 2011-2022 走看看