java正则表达式

1、概念

正则表达式:正确规则的表达式 
通常用来检测字符串是否符合某规则、根据某规则切分字符串 或 替换符合规则的文本 

例如: 
检查校验字符串中的 QQ 号是否如何如下规则: 
 ①必须为 5~15 位数字 
 ②不能以 0 开头 

以上要求就可以变成一个正则表达式:[1-9][0-9]{4,14} 
通过正则表达式,我们就可以检查字符串中的 QQ 号是否符合要求了。

2.字符串正则的常用方法

举例:校验手机号码 
 1:要求为 11 位数字 
2:第 1 位为 1,第 2 位为 3、4、5、7、8 中的一个,后面 9 位为 0 到 9 之间的任意数字。 
代码演示: 
 String phone = "18810022666"; 
 String regex = "1[34578][0-9]{9}"; 
 boolean flag = phone.matches(regex); 

java中常用的方法名称及作用

3、常见的正则表达式

4.1  常见规则 

规则:x

含义:代表字符x

例如:匹配规则为"b",那么匹配的字符串内容就是"b"

规则:\\t

含义:制表符

例如:要想匹配一个制表符空间,就必须写\\t,而不是\t

规则:\\n

含义:换行符

例如:  匹配规则为"\\n",那么对应的效果就是换行,光标在原有位置的下一行 

规则:[abc] 
含义:代表的是字符 a、b 或 c 
例如:匹配规则为"[abc]",那么需要匹配的内容就是字符 a,或者字符 b,或字符 c 的一个 

规则:[^abc] 
含义:代表的是除了 a、b 或 c 以外的任何字符 
例如:匹配规则为"[^abc]",那么需要匹配的内容就是不是字符 a,或者不是字符 b,或不是字符
c 的任意一个字符

规则:[a-zA-Z] 
含义:代表的是 a 到 z 或 A 到 Z,两头的字母包括在内 
例如:匹配规则为"[a-zA-Z]",那么需要匹配的是一个大写或者小写字母

规则:[0-9] 
含义:代表的是 0 到 9 数字,两头的数字包括在内 
例如:匹配规则为"[0-9]",那么需要匹配的是一个数字 

规则:. 
含义:代表的是任何字符 
例如:匹配规则为" . ",那么需要匹配的是一个任意字符

规则:\\d 
含义:相当于[0-9]。代表的是 0 到 9 数字,0 和 9 包括在内。 
例如:匹配规则为"\\d ",那么需要匹配的是一个数字

规则:\\w 
含义:相当于[a-zA-Z_0-9]。代表的字母或者数字或者下划线 
例如:匹配规则为"\\w ",那么需要匹配的是一个字母或者是一个数字或一个下滑线 

4.2  边界匹配器

边界匹配器:^ 
含义:代表以某些内容开头 

边界匹配器:$ 
含义:代表以某些内容结尾 

4.3  数量词

数量词:X? 
含义:代表的是 X 出现 0~1 次 
例如:匹配规则为"a?",那么需要匹配的内容是一个字符 a,或者一个 a 都没有 

数量词:X* 
含义:代表的是 X 出现 次数≥0 
例如:匹配规则为"a*",那么需要匹配的内容是多个字符 a,或者一个 a 都没有 

数量词:X+ 
含义:代表的是 X 出现 次数≥1 
例如:匹配规则为"a+",那么需要匹配的内容是多个字符 a,或者一个 a 

数量词:X{n} 
含义:代表的是 X 出现 次数= n 
例如:匹配规则为"a{3}",那么需要匹配的内容是 3 个字符 a  

数量词:X{n,} 
含义:代表的是 X 出现 至少 n 次 
例如:匹配规则为"a{3, }",那么需要匹配的内容是最少有 3 个字符 a 

数量词:X{n,m} 
含义:代表的是 X 出现至少 n 次,但是不超过 m 次 
例如:匹配规则为"a{5,8}",那么需要匹配的内容是有 5 个字符 a 到 8 个字符 a 之间 

4.4  逻辑运算符

逻辑运算符:XY 
含义:代表的是 X 后紧跟着 Y 
例如:匹配规则为"ab",那么需要匹配的字符串内容就是 ”ab” 

逻辑运算符:X|Y 
含义:代表的是 X 或 Y 
例如:匹配规则为"a|b",那么需要匹配的字符串内容就是 ”a”或”b” 

逻辑运算符:(X) 
含义:代表的是()括号内的数据作为一个整体出现 
例如:匹配规则为"(hello)+",那么需要匹配的内容是组内数据要出现多次,如”hellohellohello”;
或者组内数据出现一次,如”hello”

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值