千家信息网

java常用正则表达式有哪些

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,小编给大家分享一下java常用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、数字效验表达式需求表达式数
千家信息网最后更新 2025年02月23日java常用正则表达式有哪些

小编给大家分享一下java常用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1、数字效验表达式

需求表达式
数字^[0-9]*$
n位的数字^\d{n}$
m-n位的数字^\d{m,n}$
零和非零开头的数字^( ^([1-9][0-9]*)+(.[0-9]{1,2})?$
带1-2位小数的正数或负数^(\-)?\d+(\.\d{1,2})?$
正数、负数、和小数^(\-|\+)?\d+(\.\d+)?$
有两位小数的正实数^[0-9]+(.[0-9]{2})?$
有1~3位小数的正实数^[0-9]+(.[0-9]{1,3})?$
非零的正整数^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
非零的负整数^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
非负整数^\d+$ 或 ^[1-9]\d*|0$
非正整数^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
非负浮点数^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
非正浮点数^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
正浮点数^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
负浮点数^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
至少n位的字^\d{n,}$

2、字符效验表达式

需求表达式
汉字^[\u4e00-\u9fa5]{0,}$
英文和数字^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
长度为3-20的所有字符^.{3,20}$
由26个英文字母组成的字符串^[A-Za-z]+$
由26个大写英文字母组成的字符串^[A-Z]+$
由26个小写英文字母组成的字符串^[a-z]+$
由数字和26个英文字母组成的字符串^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串^\w+$ 或 ^\w{3,20}$
中文、英文、数字包括下划线^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、数字但不包括下划线等符号^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
可以输入含有^%&',;=?$\"等字符[^%&',;=?$\x22]+
禁止输入含有~的字符[^~\x22]+
.*匹配除 \n 以外的任何字符
汉字/[\u4E00-\u9FA5]/

3、特殊需求表达式

需求表达式
Email地址^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
域名[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
InternetURL[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
手机号码^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX)^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
国内电话号码(0511-4405222、021-87888822)\d{3}-\d{8}|\d{4}-\d{7}
身份证号(15位、18位数字)^\d{15}|\d{18}$
短身份证号码(数字、字母x结尾)^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)^[a-zA-Z][a-zA-Z0-9_]{4,15}$
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)^[a-zA-Z]\w{5,17}$
强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
日期格式^\d{4}-\d{1,2}-\d{1,2}
一年的12个月(01~09和1~12)^(0?[1-9]|1[0-2])$
一个月的31天(01~09和1~31)^((0?[1-9])|((1|2)[0-9])|30|31)$
钱的表达式"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000"^[1-9][0-9]*$
钱的表达式,任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过^(0|[1-9][0-9]*)$
钱的表达式, 一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号^(0|-?[1-9][0-9]*)$
一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉.下面我们要加的是说明可能的小数部分^[0-9]+(.[0-9]+)?$
必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的^[0-9]+(.[0-9]{2})?$
小数点后面必须有两位^[0-9]+(.[0-9]{1,2})?$
允许用户只写一位小数.数字中的逗号^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
xml文件^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
中文字符[\u4e00-\u9fa5]
双字节字符[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))
空白行\n\s*\r (可以用来删除空白行)
HTML标记<(\S*?)[^>]*>.*?|<.*? />(不全,有需要另行查找)
首尾空白字符^\s*|\s*$或(^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)
腾讯QQ号[1-9][0-9]{4,} (腾讯QQ号从10000开始)
中国邮政编码[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
IP地址\d+\.\d+\.\d+\.\d+ (提取IP地址时有用)
IP地址((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
IP-v4地址\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b (提取IP地址时有用)
校验IP-v6地址

(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))

子网掩码((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
校验日期

^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-

格式的日期校验,已考虑平闰年$("yyyy-mm-dd" 格式的日期校验,已考虑平闰年。)
抽取注释
查找CSS属性^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}
提取页面超链接

(]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^" rel="external nofollow" ]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>

提取网页图片\\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)
提取网页颜色代码^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
文件扩展名效验^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$
判断IE版本^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$
全角符号/[\uFF00-\uFFFF]/
半角符号/[\u0000-\u00FF]/

以上是"java常用正则表达式有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

数字 字符 表达式 字母 小数 开头 英文 地址 字符串 下划线 点数 长度 号码 整数 日期 空白 需求 字节 效验 有用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 租赁云服务器如何摊销 5g网络技术的来龙去脉 山东济南鑫众软件开发公司 数据库性能优化原理与技术 医院网络安全培训记录内容 华为云服务器密码多次输入错误 自建dns服务器访问公网 辰华网络技术有限公司 提高网络安全防止电信诈骗 湖北专业网络技术资费 服务器已达其每日 长城国产化服务器销售电话 数据库管理平台设计两个并发进程 db2数据库表查询有多少列 门禁系统平台软件开发 服务器显卡k30 不同的服务器硬盘系统能通用吗 惠普服务器默认管理口用户名 网络安全 安全机制 网络技术对未来就职的意义 软件开发网站挂到网上 国产服务器销量排名 苏州果盘网络技术有限公司主页 农村网络安全普及活动总结 怎么提交数据库 wpf数据库批量删除 数据库怎么重复查询 c csv文件导入数据库 水务行业网络安全整体解决方案 北京电商系统软件开发
0