《精通正则表达式》笔记
偷懶~~
工具: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)):判斷是否符合深度
總結
以上是生活随笔為你收集整理的《精通正则表达式》笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: skeptical和suspicious
- 下一篇: 皮脂腺囊肿切除术手术过程(皮脂腺囊肿切除