“黑马程序员”正则表达式的学习日志

来源:互联网 发布:ios ar源码 编辑:程序博客网 时间:2024/05/01 20:49

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


在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-123456780376-7654321)。

以下代码是个人在学习正则表达式的时候整理出来的,方便于查阅

import java.awt.print.Printable;

import java.io.File;
      import java.util.regex.Matcher;
      import java.util.regex.Pattern;
 

import javax.crypto.Mac;


public class test {
public static void main(String[] args) {
/*
* System.out.println("aaa".matches("..."));
* print("a34232df".replaceAll("\\d", "-")); Pattern
* pattern=Pattern.compile("[a-z]{3}"); Matcher
* matcher=pattern.matcher("dsf"); print(matcher.matches());
* print("dfs".matches("[a-z]{3}"));
*/
/*
* System.out.println("".matches("a?"));
* System.out.println("".matches("a+"));
* System.out.println("".matches("a*") );
* System.out.println(" \n".matches("^[\\s&&[^\\n]]\\n")); Pattern
* pattern=Pattern.compile("^\\d+@q{2}\\.com$"); Matcher
* matcher=pattern.matcher("677000@qq.com"); print(matcher.matches());
*/
// System.out.println("\\".matches("\\\\"));
// System.out.println(" ".matches("."));
/*
* Pattern pattern=Pattern.compile("\\d{3,5}"); Matcher
* matcher=pattern.matcher("3322d"); print (matcher.matches());
*/
// matcher.reset();
/*
* print(matcher.find()); print(matcher.find()); print(matcher.find());
* print(matcher.find());
*/
// Pattern pattern = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
// Matcher matcher = pattern
// .matcher("java JAVa jaVa,i love jAva dsfd java jdsf");
// print(matcher.replaceAll("java"));
/*
* while(matcher.find()){ System.out.println(matcher.group()); }
*/
/*StringBuffer sb = new StringBuffer();
int i=0;
while (matcher.find()) {
            i++;
            if(i%2==0){
            matcher.appendReplacement(sb, "java");
            }
            else {
matcher.appendReplacement(sb, "JAVA");
}
            
}
matcher.appendTail(sb);
print(sb.toString());*/
/* Pattern pattern=Pattern.compile("\\d{3,5}");
Matcher matcher=pattern.matcher("4352--sdf5432-fs4343-sdf5454-sfs2232-23");
matcher.matches();
matcher.reset();
matcher.find();
print(matcher.group());
   System.out.println(matcher.start()+"-----"+matcher.end());
   matcher.find();
   System.out.println(matcher.start()+"-----"+matcher.end());
   matcher.find();
   System.out.println(matcher.start()+"-----"+matcher.end());
   matcher.find();
   System.out.println(matcher.start()+"-----"+matcher.end());
   matcher.find();
   System.out.println(matcher.start()+"-----"+matcher.end());*/
//    matcher.find();
//    System.out.println(matcher.start()+"-----"+matcher.end());
//    print(matcher.group());
 Pattern pattern=Pattern.compile("(\\d{3,5})([a-z]{1,4})");
   Matcher matcher=pattern.matcher("1223add-234dfd-3222dfds-12113ddsd");
   while (matcher.find()){
    print(matcher.group(1));
   
   }
/*Pattern pattern=Pattern.compile(".{1,5}[1-9]");
   Matcher matcher=pattern.matcher("d2sf3f1dh5ff2");
   while(matcher.find()){
    System.out.println(matcher.start()+"---"+matcher.end());
   
   }
   System.out.println("java".matches("(?i)JavA"));*/
   System.out.println("12".matches("(.)(.)\\2"));
}


public static void print(Object o) {
System.out.println(o);
}
}

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

详细请查看:http://edu.csdn.net/heima