Linux shell中常用的正則表達式總結
非負整數: ^\d+$
正整數: ^[0-9]*[1-9][0-9]*$
非正整數: ^((-\d+)|(0+))$
負整數: ^-[0-9]*[1-9][0-9]*$
整數: ^-?\d+$
非負浮點數: ^\d+(\.\d+)?$
正浮點數 : ^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)$
非正浮點數: ^((-\d+\.\d+)?)|(0+(\.0+)?))$
負浮點數: ^(-((正浮點數正則式)))$
英文字符串: ^[A-Za-z]+$
英文大寫串: ^[A-Z]+$
英文小寫串: ^[a-z]+$
英文字符數字串: ^[A-Za-z0-9]+$
英數字加下劃線串: ^\w+$
E-mail地址: ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
URL: ^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$
或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$
郵政編碼: ^[1-9]\d{5}$
中文: ^[\u0391-\uFFE5]+$
電話號碼: ^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$
手機號碼: ^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$
雙字節字符(包括漢字在內): ^\x00-\xff
匹配首尾空格: (^\s*)|(\s*$)(像vbscript那樣的trim函數)
匹配HTML標記: <(.*)>.*<\/\1>|<(.*) \/>
匹配空行: \n[\s| ]*\r
提取信息中的網絡鏈接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
提取信息中的郵件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
提取信息中的圖片鏈接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
提取信息中的IP地址: (\d+)\.(\d+)\.(\d+)\.(\d+)
提取信息中的中國手機號碼: (86)*0*13\d{9}
提取信息中的中國固定電話號碼: (\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}
提取信息中的中國電話號碼(包括移動和固定電話):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}
提取信息中的中國郵政編碼: [1-9]{1}(\d+){5}
提取信息中的浮點數(即小數): (-?\d*)\.?\d+
提取信息中的任何數字 : (-?\d*)(\.\d+)?
IP: (\d+)\.(\d+)\.(\d+)\.(\d+)
電話區號: /^0\d{2,3}$/
騰訊QQ號: ^[1-9]*[1-9][0-9]*$
帳號(字母開頭,允許5-16字節,允許字母數字下劃線): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
中文、英文、數字及下劃線: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$
匹配中文字符的正則表達式: [\u4e00-\u9fa5]
匹配雙字節字符(包括漢字在內):[^\x00-\xff]
匹配空行的正則表達式: \n[\s| ]*\r
匹配HTML標記的正則表達式: /<(.*)>.*<\/\1>|<(.*) \/>/
sql語句:^(select|drop|delete|create|update|insert).*$
匹配首尾空格的正則表達式: (^\s*)|(\s*$)
匹配Email地址的正則表達式: \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*