Mega Code Archive

 
Categories / Java / Regular Expressions
 

Use Matcher appendReplacement() to match [a-zA-Z]+[0-9]+

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main {   public static void main(String[] argv) throws Exception {     CharSequence inputStr = "ab12 cd efg34 asdf 123";     String patternStr = "([a-zA-Z]+[0-9]+)";     Pattern pattern = Pattern.compile(patternStr);     Matcher matcher = pattern.matcher(inputStr);     StringBuffer buf = new StringBuffer();     boolean found = false;     while ((found = matcher.find())) {       String replaceStr = matcher.group();       matcher.appendReplacement(buf, "found<" + replaceStr + ">");     }     matcher.appendTail(buf);     String result = buf.toString();     System.out.println(result);   } } //found<ab12> cd found<efg34> asdf 123