Java之正则表达式入门理解

字符串处理利器:正则表达式


正则表达式:具有特殊意义的字符串,我们说某个字符串匹配某个正则表达式,通常是指这个字符串里有一部分(或几部分分别)能满足表达式给出的条件。


(本文不介绍各种符号代表的意思以及各函数,只是希望能够帮助初学者理解正则表达式的作用和用法)


1.正则表达式用途:

字符匹配(例如:IP地址是否正确),

字符串查找(例如:从网页中寻找email地址),

字符串替换(例如:将小写的字母替换为大写的字母)

字符提取,字符分割等。


2.初识正则表达式的世界——字符串中的正则表达式:

public boolean matches(String regex)方法:

作用:目标字符串的形式是否完全满足regex的字符序列

例如:System.out.println("abc".matches("...")

    这里“...”代表的是三个任意字符,a是第一个任意字符,b,c分别是第2,3个任意字符,因此输出true

还有字符串替换public String replaceAll(String regex,String replacement)方法

以及字符串分解public String[] split(String regex)方法等


3.模式匹配Pattern类和Matcher类


Pattern:要符合的模式

Matcher:按照该模式匹配字符串之后产生的结果

 

使用步骤:

1)建立需要符合的模式

  将正则表达式作为参数得到一个实例,

  通常先编译好了,这样使用的时候不用每次都编译,会快一些

  例如:Pattern p=Pattern.compile("...");//将三个任意字符当作要来进行比较的模式,这个模式就是p

2)得到按照该模式匹配字符串之后产生的结果

例如:Matcher m=p.matcher("sdf");//将字符串"sdf"与模式p进行匹配,将结果存储为m

3)使用

例如:System.out.println(m.matches());//同上,"sdf"满足"...",应输出true


例如:

Pattern pt=Pattern.compile("java",Pattern.CASE_INSENSITIVE);//将不区分大小写的"java"字符串作为目标模式pt
Matcher m=pt.matcher("java Java JAva ILoveJava fdaf");//将双引号中的字符串与pt模式代表的字符串匹配,结果存到m
System.out.println(m.replaceAll("Java"));//上面的四个不分大小写的“java”都满足匹配条件,将他们都替换为"Java"


剩下的一些好用的方法都没有介绍,书籍里和API都有,

写这个的原因是因为我一开始就没有理解到底该怎么用正则表达式,甚至什么是正则表达式

希望能够帮助到大家

  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值