黑马程序员----------正则表达式

------- android培训java培训、期待与您交流! ----------

正则表达式

好处:正则的出现,是操作字符串更加简便,简化了代码

特点:将对字符串操作的代码用符号表示,只要使用了指定符号,就可以调用底层代码对字符串进行操作

弊端:降低了阅读性,更多是用正则解决字符串操作问题

用小括号标示,每定义一个小括号,就是一个组,而且有自动编号,从1开始。

    只要使用组,对应的数字就是使用该组的内容。别忘了,数组要加\\。

    (aaa(wwww(ccc))(eee))技巧,从左括号开始数即可。有几个左括号就是几组。

$:可以在多参数时,后面的参数可以通过$编号的形式取到前一个参数的组

\\.:切割去掉小数点

(.)\\1+:切割叠词

正则常见操作:

匹配:使用的是String类中提供了匹配的方法matches方法,返回的boolean类型

Stringtel=”13388880000” 

Stringregex=“1[3,5,8][0-9]{9}“//校验手机号码是否正确

Booleanb=tel.matches(regex);syso(b);

切割:使用的是String类中的split方法

Stringtemp=”zhangsan  lisi    wangwu”;String temp=” zhangsan.lisi.wangwu”;

Stringregex=” +”;        String regex=”\\.”;//按点切割

Stringtemp=”eiaofjowwwwifea%%%%eao”; String regex=”(.)\\1+”;

Stringnames=temp.split(regex);for(String name:names){syso(name)}

替换:String temp=”15800001111”;//替换中间的四位

    temp=temp.replaceAll(“(\\d{3}\\d{4}(\\d{4}))”,”$1####$2”);

获取:要想实现获取,将符合规则的内容取出来,用到正则表达式对象pattern

将字符串规则封装成pattern对象 compile(regex),

通过正则对象获取匹配对象,用对将正则规则作用到要操作的字符串上

通过匹配器的方法,,对字符串进行操作

获取字符串中符合规则的内容。

Stringtemp=”da jia zhu yi le ,ming tian yao fang jia la ”

Stringregex=”\\b[a-zA-Z]{3}\\b”;

Patternp=Pattern.compile(regex);Matches m=p.matches(temp);

While(m.find()){syso(m.group())}

例子://对ip地址进行排序

Stringtemp="192.168.1.200 017.10.10  003.3.50.3127.0.0.1";

temp=temp.replaceAll("(\\d+)","00$1");//补两个0

temp=temp.replaceAll("0*(\\d{3})","$1");//去掉数子前面的几个0

String[]ips=temp.split(" +");//切割

Arrays.sort(ips);//排序

for(String ip:ips){//迭代

System.out.println(ip.replaceAll("0*(\\d+)","$1"));}

       

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值