Spiga

串(七):常用正则表达式

2012-05-06 14:54:02

"^\d+" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*" //正整数
"^((-\d+)|(0+))" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*" //负整数
"^-?\d+" //整数 "^\d+(\.\d+)?" //非负浮点数(正浮点数 + 0)
"^(([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+)?))" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))" //负浮点数 "^(-?\d+)(\.\d+)?" //浮点数
"^[A-Za-z]+" //由26个英文字母组成的字符串 "^[A-Z]+" //由26个英文字母的大写组成的字符串
"^[a-z]+" //由26个英文字母的小写组成的字符串 "^[A-Za-z0-9]+" //由数字和26个英文字母组成的字符串
"^\w+" //由数字、26个英文字母或者下划线组成的字符串 "^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?" //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-((0-2)|(3[0|1]))/ // 年-月-日 /^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})/ // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)" //Email "(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码 "^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])" //IP地址

YYYY-MM-DD基本上把闰年和2月等的情况都考虑进去了
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$

图片 src[^>][^/].(?:jpg|bmp|gif)(?:"|')
中文 ^([\u4e00-\u9fa5]+|[a-zA-Z0-9]+)$
网址 "<a.+?href='""(?!mailto:)(?>foundAnchor>[^'"">]+?)[^>]
?>"

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.)>.</\1>|<(.*) />/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像C#的trim方法)

匹配Email地址的正则表达式:\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*

匹配网址URL的正则表达式:[http://([/w-]+/.)+[/w-]+(//w+[/w-]+(/[/w)- ./?%&=]*)?