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

Java正则表达式

  • 1. 匹配数字(包含负数、小数)
  • 2. 匹配不是纯数字和纯字母且需要8位以上的密码
  • 3. 密码:字母、数字、符号(_-+*.,!@#符号可自定义)三选二
  • 4. 密码:必须包含大写、小写、数字、符号(_-+*.,!@#符号可自定义)四种
  • 5. 匹配年月日(除2月不正常)如:2023-01-01 2023 01 01 2023/01/01 2023,01,01
  • 6. 匹配IP地址 IPV4
  • 7. 匹配手机号码
  • 8. 身份证(18位,含19xx、20xx、21xx年及相应2月29)
  • 9. 匹配网页中图片链接(格式根据需要修改)
  • 10. 匹配不包含 feature/ 和 bug 的字符串
  • 11. 匹配文本(不包含符号)
  • 12. 匹配字符串 [以AA或BB或CC开头(包含AA、BB、CC),并且以DD或FF结束(包含DD、FF)]
  • 13. 匹配 issue 中的文件和图片
  • 常用的在线测试工具

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

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

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

Java正则表达式,不定期更新_第1张图片

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

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

Java正则表达式,不定期更新_第2张图片
Java正则表达式,不定期更新_第3张图片

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}$

Java正则表达式,不定期更新_第4张图片

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. 匹配网页中图片链接(格式根据需要修改)

(?<=

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

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

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

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

Java正则表达式,不定期更新_第5张图片

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

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

Java正则表达式,不定期更新_第6张图片

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

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

Java正则表达式,不定期更新_第7张图片

常用的在线测试工具

  • regex101
  • jsons.cn
  • oschina.net

你可能感兴趣的:(#,Java,进阶,正则表达式,java,springboot,后端)