正则表达式(Regex)规范及运用

本文介绍了Java正则表达式供小白编程爱好者借鉴,因为我也是学习者,这是我的一点学习经验和心得,如有错误,请指出。废话不多说,开始步入正题。(ps:创作不易,有喜欢的小伙伴请点赞支持,谢谢啦!)

一、语法格式(常用)

在Java中:使用“ ”
在js中: 使用/ /

1. 字符:

类型注释
x字符x,列如‘a’,表达是字符a
\\反斜杠字符,用转义字符\修饰
\n换行
\r回车符

2. 字符类:

类型注释
[abc]表示abc中任意单个字符
[^abc]表示除了abc中任意单个字符
^[abc]表示abc中任意单个字符开头
[a-zA-Z]表示a到z,A到Z中任意单个字符
[0-9]表示0-9中任意单个数字

3. 边界适配器

类型注释
^开头
$结尾
\b单词边界

4. 预定义的字符类

类型注释
.除了换行符以外的单个字符
\d数字[0-9]
\D非数字[0-9]
\s空白字符
\S非空白字符
\w数字字母下划线[0-9a-zA-Z_]
\W非数字字母下划线[^\w]

5. 数量词

类型注释
x?表示x可以出现一次或一次也没有
x+表示x至少出现一次
x*表示x可以出现零次或多次
x{n}表示x可以可以出现n次
x{n,}表示x至少出现n次
x{n,m}表示x至少出现n次,但不超过m次

二、功能

1. 判断功能

" ".matches(regex);

2. 分割功能

.split(regex);

3. 替换功能

.replace(regex,E);//这里E为替换元素

4. 获取功能

//Pattern与Matcher类的使用

三、匹配方式

三种匹配方式:

方式一:

bollean mc = "a".matcher(regex);//a为字符串

.
方式二:

 boolean mc = Pattern.matcher(regex,"a");//a为字符串

.
方式三:

 Pattern a = Pattern.compile(regex);//将正则表达式编译到模式当中		
 Matcher mc = a.matcher(a);//创建适配器
 bollean Mc = mc.mattches();

四、分组

   public static void main(String[] args) {
        String s = "2021-01-06";
		Pattern p = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})");
		Matcher matcher = p.matcher(s);
//		使用find方法来匹配
		if(matcher.find()){
// 		matcher.group() 返回的是整个串的数据
			System.out.println(matcher.group());//2021-01-06
			// 分组:通过索引来获取第几组,索引为从左往右数第几个 (  
			System.out.println(matcher.group(0));//2021-01-06
			System.out.println(matcher.group(1));//2021
			System.out.println(matcher.group(2));//01
			System.out.println(matcher.group(3));//06
		}
    }
}

以上是通过索引来查找,我们还可以通过去对应的字段来查找:

public static void main(String[] args) {
        String s = "2021-01-06";
		Pattern p = Pattern.compile("(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})");
		Matcher matcher = p.matcher(s);
//		使用find方法来匹配
		if(matcher.find()){
// 		matcher.group() 返回的是整个串的数据
			System.out.println(matcher.group());//2021-01-06
			// 分组:通过分组别名获取对应字段数据值
			System.out.println(matcher.group("year"));//2021
			System.out.println(matcher.group("month"));//01
			System.out.println(matcher.group("day"));//06
		} 
    }
}

好了,以上就是关于正则表达式的大致介绍,同学们快动手敲起代码来吧!!

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值