java基础 ---java中的正则表达式,
java基础 ---java中的正则表达式,
java基础 ---java中的正则表达式
下面罗列一写比较常用的正则表达式,原资料来自于老师给我们的javascript常用正则表达式。我将它都改成在java中使用的形式,并且修改了里面一些不太完善的表达式,写成一个工具类,以便以后可以调用。
匹配中文字符的正则表达式:[/u4e00-/u9fa5]
匹配双字节字符(包括汉字在内):[^//x00-//xff]
匹配空白行的正则表达式:.*[//n//s]+//r?.*
匹配HTML标记的正则表达式:<(//S*?)[^>]*>.*?|<.*? />
匹配首尾空白字符的正则表达式:^//s+.*|.*//s+$
匹配Email地址的正则表达式://w+([-+.]//w+)*@//w+([-.]//w+)*//.//w+([-.]//w+)*
匹配网址URL的正则表达式:[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):[a-zA-Z][a-zA-Z0-9_]{4,15}
匹配国内电话号码:((//+?[0-9]{2,4}//-[0-9]{3,4}//-)|([0-9]{3,4}//-))?([0-9]{7,8})(//-[0-9]+)?
匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]//d{5}
中国邮政编码为6位数字
匹配身份证://d{17}[0-9X]|//d{14}[0-9X]
中国的身份证为15位或18位
匹配ip地址:((//d|([1-9][0-9])|((1//d{2})|(2[0-5]{2})))//.){3}(//d|([1-9][0-9])|((1//d{2})|(2[0-5]{2})))
匹配年月日:(([1-2]//d{3})|//d{2})[-_./](((0[1-9])|1[012])|[1-9])[-_./](((0[1-9])|([12]//d)|(3[01]))|([1-9]))
匹配格式如下:
2007-3-07
07-3-7
07-3-07
2007-03-07
2007-03-7
07-03-07
07-03-7
中间的分割符可以是-_/.这些字符
特定数字的匹配
匹配整数:-?[1-9]//d*|0
匹配正整数:[1-9]//d*
匹配负整数:-[1-9]//d*
匹配非负整数(正整数和0):[1-9]//d*|0
匹配非正整数(负整数和0):-[1-9]//d*|0
匹配浮点数:-?([1-9]//d*//.//d*|0//.//d*[1-9]//d*|0?//.0+|0)
匹配正浮点数:[1-9]//d*//.//d+|0//.//d*[1-9]//d*
匹配负浮点数:-([1-9]//d*//.//d+|0//.//d*[1-9]//d*)
匹配非正浮点数(负浮点数和0):(-([1-9]//d*//.//d+|0//.//d*[1-9]//d*))|0?//.0+|0
匹配非负浮点数(正浮点数和0):[1-9]//d*//.//d*|0//.//d*[1-9]//d*|0?//.0+|0
特定字符串的匹配
匹配由26个英文字母组成的字符串:[A-Za-z]+
匹配由26个英文字母的小写组成的字符串:[a-z]+
匹配由26个英文字母的大写组成的字符串:[A-Z]+
匹配由数字和26个英文字母组成的字符串:[A-Za-z0-9]+
匹配由数字、26个英文字母或者下划线组成的字符串://w+
相关文章
- 暂无相关文章
用户点评