《精通正则表达式》笔记

偷懒~~

工具: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/
    
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/jinzhao/p/1572880.html