创建步骤:
1.创建一个Pattern,Pattern p = Pattern.compile(String regex);
2.创建Matcher,Matcher m = p.matcher(String str);
3.匹配。
Matcher对于匹配有3中,matches(),find(),LookingAt()。
matches()要全部匹配才能返回true,LookingAt()从第一个开始,匹配上就可以,不必完全匹配。find()则是只要字串有匹配的就可以,返回true。
pattern中有split(String str)方法对字符串进行分割。还有一些功能在api中能找到。
示例:
输出:
如果表述不够清晰,可以结合运行结果自行分析。
1.创建一个Pattern,Pattern p = Pattern.compile(String regex);
2.创建Matcher,Matcher m = p.matcher(String str);
3.匹配。
Matcher对于匹配有3中,matches(),find(),LookingAt()。
matches()要全部匹配才能返回true,LookingAt()从第一个开始,匹配上就可以,不必完全匹配。find()则是只要字串有匹配的就可以,返回true。
pattern中有split(String str)方法对字符串进行分割。还有一些功能在api中能找到。
示例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTest {
/**
* @param args
*/
public static void main(String[] args) {
String emailReg = "[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-z]+";
String emailMatches = "jinguichao@163.com";
String emailLookingAt = "jinguichao@163.com.cn";
String emailFind = "\\-jinguichao@163.com";
System.out.println(createMatcher(emailMatches, emailReg).matches());
System.out.println(createMatcher(emailLookingAt, emailReg).matches());
System.out.println(createMatcher(emailFind, emailReg).matches());
System.out.println(createMatcher(emailMatches, emailReg).lookingAt());
System.out.println(createMatcher(emailLookingAt, emailReg).lookingAt());
System.out.println(createMatcher(emailFind, emailReg).lookingAt());
System.out.println(createMatcher(emailMatches, emailReg).find());
System.out.println(createMatcher(emailLookingAt, emailReg).find());
System.out.println(createMatcher(emailFind, emailReg).find());
System.out.println(createMatcher("13812345678", "^[1][35]{1}\\d{9}").matches());
System.out.println(createMatcher("012345678912345", "\\d{15}").matches());
//spilt the string to string[] by ","
Pattern pattern = Pattern.compile(",");
String[] strs = pattern.split("good,bad,fuck");
for(String str : strs) {
System.out.println(str);
}
}
private static Matcher createMatcher(String str, String reg) {
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
return matcher;
}
}
输出:
true
false
false
true
true
false
true
true
true
true
true
good
bad
fuck
如果表述不够清晰,可以结合运行结果自行分析。