題圖:正則表達式,古老的智慧,多用做文本驗證和加工。它看起來迷糊,學起來簡單,用起來神奇。html
不等不靠,有囧有料。終日乾乾,或躍在淵。java
正則表達式(RegExp),是攻城獅標配技能,
本期視頻,讓各位獅友40分鐘從精通到入門 :)node
@史榮久 / 2015-05-27 / CC-BY-SA-3.0linux
■ 文本加工的例子(驗證,提取,替換,分割):git
(1[012]|[1-9])
,千分位數\d{1,3}(,\d{3})*
。([^",]+|"(?:[^"]|"")+")
。■ 正則表達式精要(基本上NFA各流派都適用):github
^$?+*.\{[(|)
,2+特殊字符\^
+[-]
。(X|Y|Z)
,字符[xyz]
及否認[^xyz]
。(?!X|Y|Z)
。dwsb
,\p{punct}
,塊轉義\Q\E
(QuotE)。.
不能匹配換行符,小技巧[\s\S]*
,[\d\D]*
。[\r\n]+
,\r?\n
(記憶:return,n-r:a-d)。$
。\1
和$1
,\k<name>
和${name}
的用法。。■ 文本加工的命令(Unix哲學,組合,精專):正則表達式
alias cd='rm -rf'
,玩笑加姿式。grep
,find
,xargs
,sed
,uniq
,wc
。ag
超快的文本搜索命令,在700M代碼用表達式不到3秒。Cygwin
,GnuWin32
,unxutils
■ 正則參考資料(括號內,爲推薦程度):spring
■ 命令參考資料(應該記住,或者常常man):sql
sed -E
擴展正則表達式sed
基本正則表達式bash
單雙引號與轉義bash
單雙引號與轉義(需***)ag
很快的文本搜索awk
作sql的sum
,group
■ 其餘參考資料(Win32移植很犀利,RFC不是KFC):express
if (you.accept(MoilionCircle.SPIRIT)) { if(you.haveADL()){ MoilionCircle we = you.search(MoilionCircle.SLOGAN); we.welcome(you); } if(you.share(this)){ We.thank(you); We.mayFind7Moilion(); } }