java:正则表达式详细代码示例。

本文详细介绍Java中正则表达式的应用,包括基本语法、常见用法如匹配、捕获组、替换及字符串切割等,并通过实例加深理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



java中最基础的正则式应用:

第一种:

		String s = "123a4c6343d45d"; // 内容

		String c="具体规则";// 建立规则
		
		boolean n=s.matches(c);//对比

第二种:

boolean bool = Pattern.matches("\\w+","hello abc");//第一参是规则,第二参为要匹配的字符串

第三种:

Pattern p=Pattern.compile("\\w+");//规则对象
		
		Matcher m=p.matcher("aosijdoaijsc64113kiuhkiuh68465");//将需要匹配的字符串与正则存入Matcher对象中
		
		boolean yesorno=m.matches();//尝试将整个字符串与规则做匹配.





上图例子(下同):

这个应该不需要例子




这个应该也不需要例子




不需要




例子 :

String a="\d{2}";//从左到右匹配两个字符串  非贪楚模式为
"\d{2,?}"即最匹配出现最少次数。

      




例子:

String a="^[a-z]\d{3}~$";//第一个字符匹配小写字母,中间三个字符匹配0-9的数字,最后一个字符串匹配~。




例子:捕获组可以理解为将符合规则的字符串提取到内存中,并且给它们编号,我直接用代码来写例子。

		Pattern p = Pattern.compile("(\\d+)([¥$]$)");// 建立规则

		String str = "8899¥";// 需要匹配的内容

		Matcher m = p.matcher(str);// 匹配并存入对象中.

		if (m.matches()) {// 判断对象m所包含的字符串是否有符合规则的

			System.out.println("货币金额" + m.group(1));//打印捕获组内容,参数为捕获组编号
			System.out.println("货币种类" + m.group(2));
		}

第二个例子:

		Pattern p = Pattern.compile("([a-z]+)([0-9]+)");// 规则对象

		Matcher m = p.matcher("aa232**ssd445*sds323");// 将需要匹配的字符串与正则存入Matcher对象中
                boolean yesorno2=m.find();//该方法扫描字符串,查找m中的字符串是否存在符合规则的下一个(以第0个字符开始计算)子字符串,有则返回true
                boolean yesorno=m.matches();//判断m中的字符串是否存在符合规则的内容.!**这句代码一般不能与上句代码同时使用,会影响结果**!
                while (m.find()) {
System.out.println(m.group());//group()与group(0)同样效果(打印匹配的所有字符串)且都需要配合find使用.
		System.out.println(m.group(1));
System.out.println(m.group(2));
System.out.println();
}


替换字符例子:

		Pattern p = Pattern.compile("[0-9]");// 规则对象

		Matcher m = p.matcher("aa232**ssd445*sds323");// 将需要匹配的字符对象与正则存入Matcher对象中

		String newStr=m.replaceAll("#");//将符合条件的字符替换为#
		System.out.println(newStr);//输出结果为aa###**ssd###*sds###

字符切割,也叫字符剔除,例子:

		//字符串切割,也叫字符剔除
		String str="s5313a1322x321c3f";
		String [] arrs=str.split("\\d+");//将符合规则的字符都剔除掉
		System.out.println(Arrays.toString(arrs));//输出为s,a,x,c,f





下面图片是上面图片的例子:

意思就是先确定ing的位置,再匹配它前面的所有小写字母



常用



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值