Java正则表达式基础用法

正则表达式:用来描述需要匹配的一系列语句的字符串
注:下面例子统一采用正则表达式->可以通过的字符串 正则表达式<>不可以通过的字符串格式

常用正则表达式地址

1.单个符号

1.1英文句号.

匹配任意单个字符

h.p -> hop h-p hhp hop
h.p <> hhhp hisop h,.p

1.2中括号[]

匹配方括号里面的单个字符

h[abcd]p -> hap hbp hcp hdp
h[abcd]p <> hadp habp hbbp

1.3 符号“或” |

匹配其中的任意一项字符(串)

h(ad|bc|c_)p -> hadp hbcp hc_p
h(ad|bc|c_)p <> hacP habcdp hadbcP 

1.4 匹配次数的符号* + ? {n} {n,m}

* 0次或者多次
+ 1次或者多次
? 0次或者多次
{n} n次
{n,m} n次到m次之间

正则表达式:1[3-9]*\-[0-9]+\-[0-9]?\-[0-9]{2}\-[0-9]{1,2}
解释:1 {没有或者39之间取多个数} - {09之间取一个或者多个数} - {不取数或者09之间取多个数} - {09之间取两个数} - {09之间取12个数}
注:由于 "-" 是特殊符号,因此需要在该符号前面加 "\" 转义符 

1.5符号否 ^

表示不取方括号里面范围的,排除里面的其他任意符号都可以

正则表达式:^[3-4]{2}
解释:取两位不含34的符号 (-- 78 d7)

1.6 非空符号 \S

匹配的字符不能为空字符

正则表达式:[0-9]*\S
解释:必须有一组数字,不能为空的 (不能为null)

1.7空符号\s

空符号,匹配一个空格、制表符、回车符、换页符,不可以匹配输入的多个空格

1.8空格符\r

空格符,与 \n \tab相同

1.9字符串结尾$

$ 以字符串结尾

2.快捷符号

2.1\d表示[0-9]

2.2\D表示[^0-9]

2.3\w表示[0-9A-Z_a-z]

2.4\W表示[^0-9A-Z_a-z]

2.5\s表示[\t\n\r\f]

2.6\S表示[^\t\n\r\f]

3.常用表达式

(([a-z]|_)(\\w*)){6,20}:匹配以字母或下划线开头,字母数字下划线结尾的字符串,且长度为6到20位
^\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个英文字母或者下划线组成的字符串
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ :email地址
^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ :url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(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})(]?)$ :Emil
/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/ :电话号码
^(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地址
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\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}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hippoDocker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值