正则表达式

来源:互联网 发布:造假因子分析数据注意 编辑:程序博客网 时间:2024/06/10 06:16

http://blog.donews.com/maverick/archive/2005/11/28/641232.aspx这个链接是关于贪婪和不贪婪的

http://deerchao.net/tutorials/regex/regex.htm#mission 30分钟入手正则表达式

总结以下:其直接匹配对应的字符,[]是在里面放一个字符或多个字符,但其是应该是匹配的一个,即匹配一个字符。用{}是代表数量,用()是代表一个完整的单词,暂时就发现这么一点,以后再补充

我写了两个类以供参考

类1:

package com.wl.regex;



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




public class TestFIle {


public static void main(String[] args) throws Exception
{
String filepath="/home/hadoop/result.log";
File file=new File(filepath);
FileReader filereader=new FileReader(file);
BufferedReader reader=new BufferedReader(filereader);
String regex=".*getPromotionProductPage.*";

Pattern pattern=Pattern.compile(regex);
Matcher matcher;
String temp=null;
while((temp=reader.readLine())!=null)
{
matcher=pattern.matcher(temp);
if(matcher.matches())
{
System.out.println("匹配 "+temp);
}

}


}

}



类2:

package com.wl.regex;


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


public class Test {


public static void main(String[] args)
{
String regex=".*what.*you.*";
String input[]={
"what is you want ?",
"w",
"a",
"what",
};
Pattern pattern=Pattern.compile(regex);
Matcher matcher;
for(int i=0;i<input.length;i++)
{
matcher=pattern.matcher(input[i]);
if(matcher.matches())
{
System.out.println("匹配 "+input[i]);
}
else
{
System.out.println("不匹配 "+input[i]);
}
}

}

}


类3:

package com.wl.regex;


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


public class Test {


public static void main(String[] args)
{
String regex=".*(what ){2,}.*";
String input[]={
"what what what want ?",
"whatwhatwhatwant ?",
"w",
"a",
"what",
};
Pattern pattern=Pattern.compile(regex);
Matcher matcher;
for(int i=0;i<input.length;i++)
{
matcher=pattern.matcher(input[i]);
if(matcher.matches())
{
System.out.println("匹配 "+input[i]);
}
else
{
System.out.println("不匹配 "+input[i]);
}
}

}

}

原创粉丝点击