正则表达式

正则表达式

字符

符号描述
\反斜线,用于转义时,需双反斜线

限定符

符号描述
?表示?前面得到字符需要出现0次或1次
*表示*前面的字符出现0次或多次
+表示+前面的字符出现1一次及以上
{…}表示{…}前面的字符出现花括号({…})中的数字对应的次数
如果需要出现范围在2-6,则表示为{2,6}
如果需要出现范围在2次以上,则表示{2,}
(…)表示一个整体,配合其他限定符使用

或运算

符号描述
|表示要么满足|之前紧跟着的字符,要么满足|之后紧跟着的字符

字符类

符号描述
[…]表示只能中括号中的字符
[a-z]表示匹配所有小写字母
[A-Z]表示匹配所有大写字母
[0-9]表示匹配所有数字
[a-zA-Z0-9]表示匹配所有大小写字母以及所有数字
[^…]表示匹配除了中括号中字符以外的字符

元字符

符号描述
\d数字字符,等同于[0-9]
\w单词字符(英文、数字以及下划线)
\s空白符(包含Tab和换行符)
\D非数字字符
\W非单词字符
\S非空白字符
.任意字符,但不包含换行符
^匹配行首
例如:^a,表示匹配行首的a字符
$匹配行尾
例如:a$,表示匹配行尾的a字符
\b表示单词字符的边界

案例:

RBG颜色值匹配

正则表达式:#[a-fA-F0-9]{6}\b

地址值匹配

IPv4:xxx.xxx.xxx.xxx 被句点分割成4部分,每部分为3位,范围为0-255

描述正则表达式
个位百位、十位固定,个位范围0-525[0-5]
十位百位固定,则十位取值范围0-4,个位范围0-92[0-4]\d
百位百位范围0-1,十位范围0-9,个位范围0-9[01]\d\d

一个部分的正则组合起来:25[0-5]|2[0-4]\d|[01]\d\d

然而ip地址 每个部分可以是一位数,也可以是二位数,所以整合后的正则表达式:25[0-5]|2[0-4]\d|[01]?\d\d?

最后ip正则表达式为:

\b((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)\b

正则表达式相关功能

判断功能:
	String类 --> boolean matches(String regex):告知此字符串是否匹配给定的正则表达式 
分割功能:
	String类 --> String[] split(String str)
替换功能:
	String replaceAll(String regex, String replacement)
获取功能:
	使用步骤:
		//将正则表达式编译成模式对象
		 Pattern p = Pattern.compile(规则);
		 //通过模式对象得到匹配器对象  这里的字符串是被匹配的字符串
		 Matcher m = p.matcher(被匹配的字符串);
		 m.find() : 字符串中是否有匹配的内容
		 m.group(): 获取字符串中匹配的内容
        注意:find()进行判断返回true在进行group()获取.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值