Java正则表达式,不定期更新


积累了一些工作中用到的正则表达式,只在 Java 语言中测试过,少数在 Python 语言。可参考,欢迎讨论、修正。

1. 匹配数字(包含负数、小数)

^[-|+]?[0-9]+.?[0-9]*$

在这里插入图片描述

2. 匹配不是纯数字和纯字母且需要8位以上的密码

^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,}$

在这里插入图片描述
在这里插入图片描述

3. 密码:字母、数字、符号(_-+*.,!@#符号可自定义)三选二

^(?![0-9]+$)(?![a-zA-Z]+$)(?![_\-*+.,!@#]+$)[0-9a-zA-Z_\-+*.,!@#]{8,20}$

4. 密码:必须包含大写、小写、数字、符号(_-+*.,!@#符号可自定义)四种

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[_\-*+.,!@#])[0-9a-zA-Z_\-+*.,!@#]{8,20}$

在这里插入图片描述

5. 匹配年月日(除2月不正常)如:2023-01-01 2023 01 01 2023/01/01 2023,01,01

\d{4}.?(((0[13578]|1[02]).?(0[1-9]|([12]\d)|3[0-1]).?)|(02.?([01]\d|2[0-8]))|((0[469]|11).?([0-2]\d|30)))(?=\s|\|)

6. 匹配IP地址 IPV4

((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}

7. 匹配手机号码

^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$

8. 身份证(18位,含19xx、20xx、21xx年及相应2月29)

^[1-9][0-7]\d{4}(((19|20|21)\d{2}(((0[13578]|1[02])(0[1-9]|([12]\d)|3[0-1]))|(02([01]\d|2[0-8]))|((0[469]|11)([0-2]\d|30))))|(((19(09|17|28|47))|(20(04|23|42|99))|(21(37|86)))0229))\d{3}(\d|X|x)$

9. 匹配网页中图片链接(格式根据需要修改)

(?<=<img.{0,1024}src=\")(https?)://.*?[.](jpe?g|png|gif)

10. 匹配不包含 feature/ 和 bug 的字符串

^(?!.*feature/|.*bug).*$

11. 匹配文本(不包含符号)

\s*[一-龥\w]*\s*

在这里插入图片描述

12. 匹配字符串 [以AA或BB或CC开头(包含AA、BB、CC),并且以DD或FF结束(包含DD、FF)]

(?=AA|BB|CC)(.|\n)+?(DD|FF)

在这里插入图片描述

13. 匹配 issue 中的文件和图片

(?<=!?\[.+\]\().+?(\.(png|xlsx|xls|docx|doc|pdf|vsdx|drawio))

在这里插入图片描述

常用的在线测试工具

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lytao123

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

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

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

打赏作者

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

抵扣说明:

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

余额充值