创建步骤:
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正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...
Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...
Java正则表达式验证IP地址 Java正则表达式验证IP地址是指使用Java语言中的正则表达式来验证IP地址是否符合标准。IP地址是指在网络通信中用来标识设备的地址,它是一种逻辑地址,通过它可以找到网络中的设备。在...
Java正则表达式是编程语言Java中的一个强大工具,它用于模式匹配、数据验证和文本检索替换。在Java中,正则表达式是通过java.util.regex包提供的接口和类来实现的。`regex-smart.jar`这个库显然是为了简化开发者在...
本篇将围绕“使用Java正则表达式分析处理日志”这一主题,探讨如何利用Java的正则表达式功能来提取、过滤和操作日志数据。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式...
以下是对这些文档标题所涉及的Java正则表达式知识点的详细解释: 1. **正则表达式之道** 这个主题可能涵盖了正则表达式的基础概念,包括元字符、字符类、量词和分组。元字符如`.`代表任意字符,`^`表示行首,`$`...