正则表达式入门

前言

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

一、正则表达式

1、作用

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

2、特点

灵活性、逻辑性、功能强
用极简的表达方式控制复杂的字符串。

3、Java中正则表达式

	Pattern p = Pattern.compile("[a-z]");
    System.out.println(p.matcher("a"));
	String regex = "[a]";
    System.out.println("a".matches(regex));

4、语法规则

[内容限定]{长度限定}

1)范围字符限定
[a-z0-9],表 示内容可以是a到z的任意字母,0到9的任意数字。

2)取反限定
[^abc]表示内容不能是a或b或c

3)长度限定
{}来限定长度,分固定长度限定和范围长度确定。
固定长度:[a-z0-9]{5},表示长度必须是5
范围限定:[a-z]{2,8},表示长度在[2,8]区间;[a-z]{2,},表示长度在[2,+∞]

4)长度限定符号
? 等同 {0,1},零次或一次,[a-z]?
+ 等同 {1,},一次或多次,[a-z]+
* 等同{0,},零次或多次,[a-z]*
注:String类中的split方法传入的是regex,而在regex中,?、+、*都是特殊字符,所以要用特殊字符去拆分时,需转义,如String[] strs = "a".split("\\+");

5)预定义字符
通过预定义字符来简化内容限定的定义。
在这里插入图片描述

String regex = "\\d?";

6)组合限定
通过组合限定来定义更复杂的限定内容。
示例1:
必须以字母开头,最小不能低于6位,最大不能低于8位(密码要求)。
“[a-z]{1}\\w{5,8}”
示例2:
校验带有区号的电话号码
“\\d{3,4}-\{7,8}”,前面是区号,后面是电话号码。

7)常见正则表达式
在这里插入图片描述

注:更多简化内容,可以查JDK API 的pattern

二、在线Regex

[1] 在线Regex之一.
[2] 面向百度

总结

1)正则表达式
2)在线正则匹配

参考文献

[1] Java SE oldLu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值