百度
360搜索
搜狗搜索

正则式,Java中什么是正则表达式详细介绍

本文目录一览: 常用正则公式

1 数字:^[0-9]*$
2 n位的数字:^\d{n}$
3 至少n位的数字:^\d{n,}$
4 m-n位的数字:^\d{m,n}$
5 零和非零开头的数字:^(0|[1-9][0-9]*)$
6 非零开头的最多带两位小数的数字:^([1-9][0-9]*) (.[0-9]{1,2})?$
7 带1-2位小数的正数或负数:^(-)?\d (.\d{1,2})?$
8 正数、负数、和小数:^(-| )?\d (.\d )?$
9 有两位小数的正实数:^[0-9] (.[0-9]{2})?$
10 有1~3位小数的正实数:^[0-9] (.[0-9]{1,3})?$
11 非零的正整数:^[1-9]\d 或^ ?[1-9][0-9] $
12 非零的负整数:^-[1-9][]0-9"*
13 非负整数:^\d
14 非正整数:^-[1-9]\d*|0
15 非负浮点数:^\d (.\d )?
16 非正浮点数:^((-\d (.\d )?)|(0 (.0 )?))
17 正浮点数:^[1-9]\d .\d |0.\d [1-9]\d
18 负浮点数:^-([1-9]\d .\d |0.\d [1-9]\d )
19 浮点数:^(-?\d )(.\d )?
1 汉字:^[\u4e00-\u9fa5]{0,}$
2 英文和数字:^[A-Za-z0-9]
3 长度为3-20的所有字符:^.{3,20}$
4 由26个英文字母组成的字符串:^[A-Za-z] $
5 由26个大写英文字母组成的字符串:^[A-Z] $
6 由26个小写英文字母组成的字符串:^[a-z] $
7 由数字和26个英文字母组成的字符串:^[A-Za-z0-9] $
8 由数字、26个英文字母或者下划线组成的字符串:^\w
9 中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_] $
10 中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]
11 可以输入含有^%&',;=? \x22]
12 禁止输入含有 的字符:[^ \x22]
1 Email地址:^\w ([- .]\w ) @\w ([-.]\w ) .\w ([-.]\w )*$
2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62}) /.?
3 InternetURL:[a-zA-z] ://[^\s]* 或^http://([\w-] .) [\w-] (/[\w-./?%&=]*)?$
4 手机号码:^(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}$
5 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"
和"XXXXXXXX):^((\d{3,4}-)|\d{3.4}-)?\d{7,8}$
6 国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
7身份证号码(数字、字母x结尾): (1) 十八位: ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$
(2)十五位: ^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$
9 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
10 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$
11 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=. \d)(?=. [a-z])(?=.*[AZ]).{
8,10}$
12 日期格式:^\d{4}-\d{1,2}-\d{1,2}
13 一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$
14 一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
15 钱的输入格式:
(1)有四种钱的表示形式我们可以接受:"10000.00" 和"10,000.00", 和没有"分" 的"10000" 和"10,000":^[1-9][0-9]*$
(2)这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|[1-9][0-9]*)$
(3)一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?[1-9][0-9]*)$
(4)这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下
面我们要加的是说明可能的小数部分:^[0-9] (.[0-9] )?$
(5)必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是"10" 和"10.2" 是通过的:^[0-9] (.[0-9]{2})?$
(6)这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^[0-9] (.[0-9]{1,2})?$
(7)这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
(8)到3个数字,后面跟着任意个逗号 3个数字,逗号成为可选,而不是必须:^([0-9] |[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
备注:这就是最终结果了,别忘了" "可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在
用函数时去掉去掉那个反斜杠,一般的错误都在这里
16 xml文件:^([a-zA-Z] -?) [a-zA-Z0-9] \.[x|X][m|M][l|L]$
17 中文字符的正则表达式:[\u4e00-\u9fa5]
18 双字节字符:[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))
19 空白行的正则表达式:\n\s*\r (可以用来删除空白行)
20 HTML标记的正则表达式:<(\S ?)[^>] >. ?
|<. ? /> (网上流传的版本太糟糕,上面这个也仅仅能部分,对于
复杂的嵌套标记依旧无能为力)
21 首尾空白字符的正则表达式:^\s |\s ) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页
符等等),非常有用的表达式)
22 腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)
23 中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
24 IP地址:\d .\d .\d .\d (提取IP地址时有用)

正则式含义

概念
编辑
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
简介
编辑
正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。
目的
编辑
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
特点
编辑
正则表达式的特点是:
1. 灵活性、逻辑性和功能性非常强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
3. 对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容
来自百度百科

正则表达式里边(. ?)什么意思

正则表达式里边<. ?>表示匹配:“<”开始,其后至少含有1个除了“>”的任意字符,且再遇到“>”,就结束匹配。
< 表示:匹配字符“<”。
表示:匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo ”能匹配“zo”以及“zoo”,但不能匹配“z”。 等价于{1,}。
* 表示:匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。
? 表示:匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于{0,1}。
> 表示:匹配字符“>”。
例如:对“<>”的字符串进行正则模式<. ?>匹配,输入为:<>
扩展资料:
正则表达式其它常见模式:
1、只能输入m~n位的数字:"^\d{m,n}$"。
2、只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
3、只能输入有两位小数的正实数:"^[0-9] (\.[0-9]{2})?$"。
4、只能输入有1~3位小数的正实数:"^[0-9] (\.[0-9]{1,3})?$"。
5、只能输入非零的正整数:"^\ ?[1-9][0-9]*$"。
6、只能输入非零的负整数:"^\-[1-9][0-9]*$"。
7、只能输入长度为3的字符:"^.{3}$"。
8、只能输入由26个英文字母组成的字符串:"^[A-Za-z] $"。
9、只能输入由26个大写英文字母组成的字符串:"^[A-Z] $"。
10、只能输入由26个小写英文字母组成的字符串:"^[a-z] $"。
参考资料来源:百度百科-正则表达式
【简单回答】
正则表达式的本身规则解释:
<. ?>
<:最开始的普通字符 小于号
. ?
包含2部分:
.
. 点:表示任意字符
加号:表示一个或更多个,即 >=1
? 问号:表示
如果前面是单个字符,则表示0或1个,即有有或没有
如果前面是连续匹配的多个字符,则表示匹配到的个数尽可能少
含义解析: . 表示任何字符,个数上是 >=1,加上?表示个数尽可能的少
>:最末尾的普通字符 大于号
综合起来就是,去匹配这种字符串:
小于号开头的,中间是 任意字符都可以,但是个数要1个或更多个,但是要尽量少,最后以大于号结束的
网上帮你找了些容易帮你你理解和学习的东西
(1)最推荐:正则图形化
Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.
https://www.debuggex.com
(2)其次推荐:正则中每一个字符都详细解释对应含义
RegExr: Learn, Build, & Test RegEx
https://regexr.com
(3)普通推荐:用高亮显示显示匹配上的内容
JavaScript正则在线测试工具 - 正则表达式工具 - 脚本之家在线工具
http://tools.jb51.net/regex/javascript
【后记】
借鉴到别人的回答,才注意到:
很明显你的正则:
<. ?>常用于匹配:HTML源码类的文本
比如:

阅读更多 >>>  如何将小数转换成百分数

网站数据信息

"正则式,Java中什么是正则表达式"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:正则式,Java中什么是正则表达式的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!