关闭

正则--^$的用法总结

577人阅读 评论(0) 收藏 举报

初学正则表达式,边学边记.下面是试验了^和$的用法:

package com.hf.regxTest.common;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * 测试行起始符号和结束符号
 * @author Administrator
 *
 */
public class Test1 {

  public static void test(String pString,String value){
   System.out.println("正则式:"+pString);
   System.out.println("值:"+value);
   Pattern p=Pattern.compile(pString);
   Matcher m = p.matcher(value);
   
   while(m.find()){
    int start=m.start();
    int end=m.end();
    System.out.println("start:"+start);
    System.out.println("end:"+end);
    String g = m.group();
    System.out.println("group:"+g);
    
   }
   System.out.println("/n");
  }
 /**
  * @param args
  */
 public static void main(String[] args) {
  /**
   * 测试起始字符:^
   */
  String pString="^w";
  String value="w";
  test(pString,value);
  /**
   * 测试结束字符:$
   */
  pString="w$";
  value="erw";
  test(pString,value);

  /**
   * 测试:^$,这表明只匹配这个c.a.t这三个字符
   */
  pString="^cat$";
  value="cat";
  test(pString,value);
  
  
  /**
   * 测试:^$,这表明匹配这个c.a.t这三个字符开头和结束的字符串,
   * 中间可以存在其他字符
   */
  pString="^cat(.*)cat$";
  value="catwwcat";
  test(pString,value);
  
  
  
  /**
   * 测试:^,这表明匹配行的开头,因为任何字符串都有开头,所以均会
   * 匹配到,没有意义
   */
  pString="^";
  value="dd";
  test(pString,value);
  
  
  /**
   * 测试:^$,这表明匹配行的开头,接着就是行结尾。所以匹配的
   * 应该是空行,即使是/n,tab等空白字符也匹配不到
  
   */
  pString="^$";
  value="";
  test(pString,value);
  
 }

}
 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:297512次
    • 积分:3524
    • 等级:
    • 排名:第9765名
    • 原创:112篇
    • 转载:25篇
    • 译文:1篇
    • 评论:39条
    最新评论
    我的java QQ群