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+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值