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+)*