详解JAVA中的正则表达式 (一)

JAVA中的正则表达式:
 
 1.JAVA中正则表达式所在的类为:java.util.regex这个包下
  --包含下面两个类:
   Matcher
   Pattern
  
  --JAVA中String这个类下面有一个matches方法,matches(String regex);
   这个方法的参数是一个正则表达式,也是一个字符字符串
   如 "abc".matches("..."); 其中的三个点,每个点代表一个字符


 
 2.JAVA API ,一个典型的模式匹配
  A typical invocation sequence is thus

   Pattern p = Pattern.compile("a*b");
   Matcher m = p.matcher("aaaaab");
   boolean b = m.matches();
 


 3.正则表达式具体一些含义
  * Pattern.compile("[a-z]{3}");表示什么意思?
    [a-z]{3}表示匹配三个字符,且这三个字符都必须是a-z之间的一个字符串模式
  * 认识 * + ? . 在正则表达式中所代表的含义
   a* ------ 表示a这个字符出现0次或多次
   a+ ------ 表示a这个字符出现1一次或多次
   a? ------ 表示a这个字符出现0次或者1次
   
  * JAVA中正则表达式中.的表示方式是//. 比如你要打印出/l
   那么你的打印语句必须这样写System.out.println("//l");
   
  * ^表示一行的开头,如下面这个的值就是true
   System.out.println("hello sir".matches("^h.*"));
  * $表示一行的结尾
   System.out.println("hello sir".matches(".*r$"));
   的结果也是true
 

 


 4.正则表达式范围怎么表示:


  []一对中括号表示匹配一个字符,如[abc]表示匹配一个在abc这个字符之中的一个字符
  [^abc]表示匹配出abc字符以外的任何一个字符
  [a-zA-Z]表示匹配一个在a-z或者A-Z之间的一个字符
  [a-z]|[A-Z]和上面的[a-zA-Z]的含义相似
  [A-Z&&[RFG]]表示匹配一个在A-Z之间且必须RFG三者中之一的一个字符
  * 一些特殊的范围:
   /b  表示单词的边界, 如空格 换行 回车都是一个单词的边界
   System.out.println("hello fengjianghong".matches("^h[a-z]{3}o//b.*"));
   这个的结果就是true
   /d ---> [0-9]
   /D ---> [^0-9]
   /w 表示一个字符,也就是 ---> [a-zA-Z_0-9]
   /W 正好和/w相反 也就是 [^/w]
   /s 代表空白字符 想程序中的/n /t /f /r都表示空白字符
    /s ---> [/t/n/f/r]
    所以System.out.println(" /t/n/f/r".matches("//s{5}"));的结果
    肯定是true
   /S 正好和/s相反 [^/s]

 

 

 

 


 5.一般的邮件正则表达式匹配格式:
 "len.fashion@gmail.com".matches("[//w[.-]]+@[//w[.-]]+//.[//w]+")
   
   
   
   
   
   
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值