zoukankan      html  css  js  c++  java
  • 正则表达式学习笔记


    环视结构不匹配任何字符,只匹配文本中的特定位置,一种类型的环视叫顺序环视(lookahead),作为表达式的一部分,顺序环视顺序(从左至右)查看文本,尝试匹配子表达式,如果能够匹配,就返回匹配成功信息。肯定型顺序环视用特殊的序列(?=...)表示,例如(?=d)表示
    如果当前位置右边的字符是数字则匹配成功,另一种环视称为逆序环视,它逆序(从右向左)查看文本,它用特殊的序列(?<=...)表示,
    例如(?<=d) 如果当前位置的左边有一位数字则匹配成功(也就是说紧跟在数字后面)


    环视:不匹配任何字符,只匹配一个位置

    (?=...) 肯定顺序环视 子表达式能够匹配右侧文本
    (?<=...) 肯定逆序环视 子表达式能够匹配左侧文本
    (?!...) 否定顺序环视 子表达式不能匹配右侧文本
    (?<!...) 否定逆序环视 子表达式不能匹配左侧文本


    s/Jeff/Jeff's/g
    s/(Jeff)(s)/$1'$2/g
    s/(?<=Jeff)(?=s)/'/ 这个表达式实际上没有匹配任何字符,只是匹配了我们希望插入撇号的位置,在这种情况下,我们并没有“替换任何字符”,而是插入了一个撇号

    非捕获型括号 (?:...) 可以提高性能


    grep 不支持多选结构'^if|num$' egrep支持

    d 数字 等价于[0-9],如果工具软件支持Unicode,能匹配所有的Unicode数字

    D 非数字字符 等价于[^d]

    w 单词中的字符 一般等价于[a-zA-Z0-9_] 某些工具软件中w不能匹配下划线

    W 非单词字符 等价于 [^w]

    s 空白字符 在支持ASCII的系统中,它通常等价于[ f v]

    S 非空白字符 等价于 [^s]

    [^u] 表示 “匹配一个未列出的字符”,而不是“不要匹配列出的字符”

    * ? + 只作用于之前紧邻的元素

     未完待续。。。

  • 相关阅读:
    汉语-词语:隐忍
    阿里云-ONS-Help-产品介绍-消息类型:事务消息
    阿里云-ONS-Help-产品介绍-消息类型:顺序消息
    阿里云-ONS-Help-产品介绍-消息类型:定时和延时消息
    阿里云-ONS-Help-产品介绍-消息类型:普通消息
    阿里云-ONS-Help-产品介绍-功能与特性:功能与特性概述
    动态拼接tr,th
    instr动态模糊查询
    easyui的combobox模糊搜索
    combobox的js添加数据
  • 原文地址:https://www.cnblogs.com/Template/p/9305402.html
Copyright © 2011-2022 走看看