创建步骤:
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
如果表述不够清晰,可以结合运行结果自行分析。
分享到:
相关推荐
本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在JDK的下一版本中看到它。 然而,如果现在就需要使用正则表达式,又该怎么办呢?你可以从Apache...
java,正则表达式,详解,java正则表达式,PDF
Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~
JAVA正则表达式应用:任意输入一串字符串 如何输入exit退出程序;从输入的字符串中判断是否包含手机号码 正则表达式可以使用" +86| 86 1 d{10}" 如果包含请将其在控制台打印出来 否则输出不包含字符串 ...
Java正则表达式Java正则表达式Java正则表达式Java正则表达式
java正则表达式验证IP地址
正则表达式之道.doc 正则表达式中的特殊字符.doc Java正则表达式详解.doc 正则表达式.ppt JAVA正则表达式--Pattern和Matcher.doc 例子
Java正则表达式应用总结
Java正则表达式详解
java正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdf
java正则表达式使用例子,代码是Android的
Java正则表达式详解
正则表达式的使用 java正则表达式的使用示例 java正则表达式
java正则表达式详细全面讲解描述
一篇学习Java正则表达式的文章。
Java正则表达式入门介绍课件;Java正则表达式入门介绍课件
网络上搜集到的java正则表达式编程,整理了下做成了PDF格式
java正则表达式使用.docx 资源
Java正则表达式入门介绍.ppt,介绍常用语法规则及使用方式等