----------------- android培训、java培训、期待与您交流! ----------------------
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-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培训、期待与您交流! ----------------------