Java简单的正则表达式匹配操作

简单地利用正则表达式进行匹配操作

要明确,正则表达式是用来方便地匹配字符串的
1. 首先要创建一个匹配模式
一个匹配模式就是一个对象,这个对象由Pattern类来帮我们造要注意Pattern的构造方法是私有的,所以没办法直接new,但是可以通过它的一个静态方法compile()来创建。
Pattern里还有一个matcher方法,返回一个Matcher的对象,该方法的参数是一个你想匹配的那个字符串。详细见下文Matcher。
创建一个匹配数字字符的模式:
Pattern pattern = Pattern.compile("\\d+");//创建匹配数字字符的模式
匹配模式的意思就是一个模板,用几个符号表示你想匹配的东西,就叫做匹配模式。
		
	例如:
		
	\\d+,代表匹配一个或多个字符,其中‘\d’代表匹配数字,等效于[0-9]。
	
	反斜杠用来转义,因为\d本身有特殊的含义,所以让最前面
	的那个反斜杠将第二个反斜杠变为一个字符'\',这样就可以使\d是一个符号了
	
	’+‘代表匹配前面的字符或子表达式一次或多次,比如:"wsx+"可以和
	"wsxw"、"wsx"、"swsxx"等等匹配,不可以和"ws"、"sxw"等等匹配
2. 接下来就是选择匹配的对象(字符串)
我们会用到工具类Matcher,中文就是匹配的意思。

Matcher的一个实例代表一个用来操作匹配字符串的对象。

Matcher常用的方法有find()、start()、end()

	<1> find()用于查找是否有想找的那个字符,有的话返回true
	<2> start()返回上一个匹配项的起始索引
	<3> end()返回上一个匹配项的末尾索引
	
	这三种方法可以与循环结合起来,没有匹配的话它会自动迭代,继续往下找,
直至匹配结束。
3. 接下来就是去执行匹配操作
由于find()返回一个布尔值,所以我们可以把它直接当作while的条件。

下面是一个从字符串中获得数字的一个实例:

String str = "cheems123cheems456cheems789";


//1.创建匹配模式
Pattern pattern = Pattern.compile("\\d+");//匹配一个或多个数字字符

//2.选择匹配对象
Matcher matcher = pattern.matcher(str);
//与谁匹配?与参数字符串str匹配


int count = 0;
while (matcher.find())//matcher.find()用于查找是否有这个字符,有的话返回true
{
	  System.out.println("第" + (++count) + "次找到");
	  //start()返回上一个匹配项的起始索引
	  //end()返回上一个匹配项的末尾索引。
  	  System.out.println(str.substring(matcher.start(),matcher.end()));
}

结果:
可以看到已经匹配到了我们想要的东西:数字

由于是初学者,如有错误请大力指出,我一定虚心接受

参考:https://ershi.blog.csdn.net/article/details/88974940

  • 14
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值