【黑马程序员】正则表达式

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------


正则表达式也是个字符串,不过是个比较特殊的字符串

String的方法boolean matches(String regex);判断该字符串是否满足正则表达式

StringreplaceAll(String regex,String replacement);使用给定的replacement字符串替换匹配给定正则的每个字符串

System.out.println("abc".matches("..."));   true 一个"."代表一个字()(三个汉字也可)

System.out.println("a8729a".replaceAll("\\d","_"));  a____a  所有数字替换为横线  "\\d"一位数字

importjava.util.regex.Matcher;

importjava.util.regex.Pattern;

public classTest {

 

public static void main(String[] args) {

Pattern p=Pattern.compile("[a-z]{3}");

将给定正则表达式编译到模式中,[a-z]表示在a-z范围内的单个字符,{3}表示3个字符

Matcher m=p.matcher("fgh");

利用给定字符串创造匹配器      

System.out.println(m.matches());                        true

}

}

简写:System.out.println("fgh".matches("[a-z]{3}"));

分开写效率高,因为首先编译了,另外,PatternMatcher提供了很多其他重要的功能

MyEclipse群体注释:选中需要注释部分,ctrl+shift+"/"  取消注释:ctrl+shift+"\"

"a".matches(".")                     true

"aa".matches("aa")                true            完全匹配

"aaaa".matches("a*")      true            *代表0或多个            ?代表0或一个

"aaaa".matches("a+")      true            +代表1或多个

"21452314".matches("\\d{3,100}")            true             \\d数字  >=3 <=100

"21452314".matches("\\d{3}")                     true             \\d数字    且正好3

"21452314".matches("\\d{3,}")                     true            \\d数字  >=3

"192.168.0.545".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")     true     \\.代表一个"."

"192".matches("[0-2][0-9][0-9]")         [ ]表示范围,表示第一个数在0-2的范围内

"".matches("a?");            true           a?表示a出现0次或1,而空串表示a出现0,故匹配

"".matches("a*");           true          同理

"a".matches("[abc]")  true    一个[ ]代表匹配一个字符,判断是不是abc中的一个

"a".matches("[^abc]")   false          非abc中的一个

"A".matches("[a-zA-Z]")      true     一个字符,且在a-zA-Z之间

等同于"A".matches("[a-z]|[A-Z]")       等同于"A".matches("[a-z]|[A-Z]")

\\s  空格符    \\S非空格符

"abc888^%".matches("[a-z]{1,3}\\d+[&^#%]+")   [a-z]{1,3} a-z的数字出现13 \\d数字出现一次或多次

[&^#%]+    &,^,#,%四者之一出现一次或多次

"\\".matches("\\\\")

\\w一个构成单词的字符

"hellosir".matches("^h".*)   ^:一行的开头

"hellosir".matches(".*ir$") $:一行的结尾 即:以ir结尾前面有0或多个字符

"hellosir".matches("^h[a-z]{1,3}0\\b.*")   \\b:单词边界(空格空白字符等)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值