身份證/[A-Z][12]\d{8}/信箱/\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i不允許信箱中有多個點/\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/iURL/(^$)|(^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$)/ix#groupbot_name(<@U2B3X5R3L>)/^(?<bot>[[:alnum:][:punct:]@<>]*)$/u(Howistheweatherinxxx?)/^How is the weather in (?<location>\w*)\?$/i
[abc]#A single character of: a, b, or c[^abc]#Any single character except: a, b, or c[a-z]#Any single character in the range a-z[a-zA-Z]#Any single character in the range a-z or A-Z^#Start of line => /^ab/,開頭兩個有 ab 即可$#End of line => /ab$/,後面兩個有 ab 即可\A#Start of string\z#End of string.#Any single character\s=[\r\t\n\f]#Any whitespace character\S=[^\r\t\n\f]#Any non-whitespace character\d=[0-9]#Any digit\D=[^0-9]#Any non-digit\w=[a-zA-Z0-9_]#Any word character (letter, number, underscore)\W=[^a-zA-Z0-9_]#Any non-word character\b#Any word boundary(...)#Capture everything enclosed(a|b)#a or ba?#Zero or one of aa*#Zero or more of aa+#One or more of aa{3}#Exactly 3 of aa{3,}#3 or more of aa{,6}#ths most 6 of aa{3,6}#Between 3 and 6 of aoptions:i#case insensitivem#make dot match newlinesx#ignore whitespace in regexo#perform #{...} substitutions only once
sed(streameditor)可以分析StandardInput(STDIN)的資料,進行取代、刪除、新增、擷取特定行等處理後,再輸出到standradout(STDOUT)。sed指令[root@linux~]# sed [-nefr] [動作]選項:-n:使用安靜(silent)模式。在一般sed的用法中,所有來自STDIN的資料一般都會被列出到螢幕上。但如果加上-n參數後,則只有經過sed特殊處理的那一行(或者動作)才會被列出來。-e:直接在指令列模式上進行sed的動作編輯;-f:-ffilename可以執行filename內的sed動作;-r:sed的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)-i:直接修改讀取的檔案內容,而不是由螢幕輸出。動作說明:[n1[,n2]]functionn1,n2:選擇進行動作的行數,例如,『10,20[動作行為]』function:a:新增,a的後面可以接字串,這些字串會在目前的下一行出現。c:取代,c的後面可以接字串,這些字串可以取代n1,n2之間的行。d:刪除,d後面通常不接任何字串;i:插入,i的後面可以接字串,這些字串會在目前的上一行出現;p:列印,將某個選擇的資料印出。通常p會與參數sed-n一起運作。s:取代,s的動作可以搭配正規表示法。例如1,20s/old/new/g。