zoukankan      html  css  js  c++  java
  • 《精通正则表达式》笔记

    偷懒~~

    工具:RegexBuddy

    Regex来历:regular expression的简写

    [-./]:这个东西以前经常看到,因为从来没学过正则,所以一直误解里头的‘-’。其实这个字符在[]中第一个出现的时候代表的是普通字符,没有别的意思,最后的’/’也是。

    |和()的渊源:’|’是个很有意思的东西,它跟分组符号配合就像变魔法一样,可以很容易写出精简的正则。后者据说就是为了限制前者的。

    ?+*{min,max}:看看就知道啥意思,如果你学过计算机。

    ^:曾经摸索写的时候我就想,咋没取反的符号类,我恨你~

    flavor:流派,跟正则无关,学习下英文。

    budding regexers:巧妙的正则。

    $1,2,3…:存储的规则是看分组的第一个括号出现的顺序,如果不想存储可以使用(?:)。

    (?=)和(?<=):环视(lookahead),就是循环出现,前者是右边出现,后者是左边出现,且环视是不会占据字符的因为它只代表位置。

    (?!)和(?<!):跟上面取反的。

    插句话,这个书的作者脑子有k,perl来perl去,我可不关心它好不好。

    正则起源:居然起源于两个神经学家,大自然真神奇~

    字符串中的\\:\w\t等在字符串中要小心,\\代表\

    unicode:C#支持,haha

    简单字符组减法:[[a-z]-[aeiou]]

    组的声明:默认按照左括号(出现的次序,也可以命名<name>例:(?<name>)(?'name’)

    \w、\d、\s:处理所有合适的Unicode字符,可以通过启用RegexOptions.ECMAScript来限制在ascii

    RegexOptions.ExplicitCapture:取消分组

    反向取组:\k<name>或\k’name’

    relpacement字符串中:用${name}

    (?<DEPTH>)\(?<-DEPTH>):表示深度的,如果前面啥出现就XXXX。前者是+1后者是-1。

    (?(DEPTH)):判断是否符合深度

    作者:KKcat
        
    个人博客:http://jinzhao.me/
        
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    windows修改环境变量的工具—Rapid Environment Editor
    JS 实现文件夹目录选择
    nginx 反向代理
    centOS7安装nginx及nginx配置
    yum安装时出现:Cannot retrieve metalink for repository: epel. Please verify its path and try again
    关于 PGP 加密与签名相关整理
    使用flink和kafka实现端到端的Exactly Once语义
    基于php的Http请求类封装
    Golang获取客户端IP
    Golang生成唯一的GUID
  • 原文地址:https://www.cnblogs.com/jinzhao/p/1572880.html
Copyright © 2011-2022 走看看