带附件:JAVA正则表达式详解(书籍)
package com.tests;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.junit.Test;
public class TestPatternMatcher {
@Test
public void TestReplaceAll(){
String s="Hello World ...";
String s2=s.replaceAll("\\.", "");
System.out.println(s2);
String s3=s.replaceAll("\\S", "");
System.out.println(s3);
String sLineSep = System.getProperty("line.separator");
String s4 = "abcdefg" + sLineSep + "中国";
System.out.println(s4);
System.out.println(s4.replace(sLineSep, "换行"));
String s5 = "1985-01-17,在这个日期23423-2384-出生";
Pattern pattern = Pattern.compile("\\d+");
Matcher m = pattern.matcher(s5);
while(m.find()){
System.out.println(m.group()+"["+m.start()+"]-["+m.end()+"]");
}
String s6="just do do do do it~!123abc@@1234efg ";
// Pattern pdo=Pattern.compile("do\\s(do\\s)+");
Pattern pdo=Pattern.compile("\\d+(\\w+)");
Matcher mdo = pdo.matcher(s6);
while (mdo.find()) {
for (int i = 0; i < mdo.groupCount(); i++) {
// System.out.println(mdo.group() + "[" + mdo.start() + "]-["
// + mdo.end() + "]");
System.out.println(i+":"+mdo.group(i));
}
}
}
@Test
public void testGreedy(){
String html = "<table> <tr><td>123ksdjfsld</td><td>34243kdljsfkldsf</td>kdlfjsdf</tr></table";
Matcher m = Pattern.compile("<td>((\\d+)(\\w+)</td>").matcher(html);
while(m.find()){
int cnt = m.groupCount();
System.out.println(cnt);
for(int i=0;i<=cnt;i++){
System.out.println("group" + i + ":" + m.group(i));
}
}
}
@Test
public void testGreedy2(){
String html = "klsdjfl8394387592347ksjd";
Matcher m = Pattern.compile("\\d+?").matcher(html); while(m.find()){
System.out.println(m.group());
}
}
}