Java正则表达式

入门介绍

正则表达式是由普通字符(如英文字母、数字等)以及特殊字符(如元字符"\D")组成的字符串模式,正则表达式可以理解成一套模板,这套模板可以匹配字符串。

入门练习

例如从下面这行字符串
https://editor.csdn.net/md?articleId=112210427
中提取出文章id

package cn.test;

import org.junit.Test;

public class TestRegex {
	@Test
	public void testRegex() {
		String str = "https://editor.csdn.net/md?articleId=112210427";
		String articleId = str.replaceAll("\\D", "");
		System.out.println(articleId);
	}
}

运行结果:
在这里插入图片描述

利用正则表达式分解字符串

入门实例

package cn.test;

import org.junit.Test;

public class TestRegex {
	@Test
	public void testStr() {
		String content="正则表达式-CSDN博客";
		/*
		 * 正则表达式\\p{Punct}匹配的是标点符号 
		 * */
		String [] contentRegex = content.split("\\p{Punct}");
		for (String string : contentRegex) {
			System.out.println(string);
		}
	}
}

运行结果:
在这里插入图片描述

常用元字符及其含义

元字符正则表达式写法含义
\d\\d代表0-9中的任意数字
\D\\D代表任何一个非数字字符
\S\\S代表非空格类字符
\s\\s空格类字符
\p{Lower}\\p{Lower}小写英文字母
\p{Upper}\\p{Upper}大写英文字母
\p{Punct\\p{Punct}标点符号
\p{Blank}\\p{Blank}空格或制表符(\t)

正则表达式中,使用方括号括起若干字符表示一个元字符,该元字符匹配的是括号内的任意一个字符。
String str = "[abc]123"匹配的是"a1123","b123“,"c13"

包含方括号的元字符

写法含义
[abc]a或b或c
[^abc]除去abc的任何字符
[a-z]a~z中的任何一个字符
[a-zA-Z]所有英文字母
[1-9]1~9中的任何一个数字
[a-d1-3]字母a到d和数字1到3
方括号的元字符演示
package cn.test;

import org.junit.Test;

public class TestRegex {
	@Test
	public void testRegex() {
		String str = "a1b2c3dAZ4";
		String strReplace1 = str.replaceAll("[abc]", "");
		System.out.println("使用元字符[abc]匹配的结果为:"+strReplace1); //123dAZ4
		String strReplace2 = str.replaceAll("[^abc]", "");//abc
		System.out.println("使用元字符[^abc]匹配的结果为:"+strReplace2);
		String strReplace3 = str.replaceAll("[a-zA-Z]", "");//1234
		System.out.println("使用元字符[a-zA-Z]匹配的结果为:"+strReplace3);
		String strReplace4 = str.replaceAll("[1-9]", "");//abcdAZ
		System.out.println("使用元字符[1-9]匹配的结果为:"+strReplace4);
		String strReplace5 = str.replaceAll("[1-3]", "");//abcdAZ4
		System.out.println("使用元字符[1-3]匹配的结果为:"+strReplace5);
		String strReplace6 = str.replaceAll("[a-d1-3]", "");//AZ4
		System.out.println("使用元字符[a-d1-3]匹配的结果为:"+strReplace6);
	}
}

运行结果
在这里插入图片描述

常用限定符

限定符定义了某些元素可以出现的频次,如X{n,m}表示X出现n到m次的字符都可以匹配

写法含义
X{n}X确定出现了几次,如a{2},字符’caab’中有两个a出现,正好匹配到此次的正则表达式
X{n,},X至少出现n次,如A{2,},A至少出现2次
X{n,m}X出现n到m次,如ab{1,3}表示ac这个字符出现1到3次
X?X出现0次到1次
X*X出现0次到1次
X+X出现1次或多次
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值