java之正则表达式菜鸟学习
2018-03-17 21:31
302 查看
java api对于正则的支持
java.util.regex 包下面一个接口两个类,一个异常:接口 MatchResult |
类 Matcher public final class Matcher extends Object implements MatchResult通过解释 Pattern对 character sequence 执行匹配操作的引擎。 通过调用模式的 matcher方法从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作: matches方法尝试将整个输入序列与该模式匹配。 lookingAt尝试将输入序列从头开始与该模式匹配。 find方法扫描输入序列以查找与该模式匹配的下一个子序列。 每个方法都返回一个表示成功或失败的布尔值。通过查询匹配器的状态可以获取关于成功匹配的更多信息。 boolean matchers()boolean lookingAt()boolean find()boolean find(int start) Patternpublic final class Pattern extends Object implements Serializable 实现Serializable 接口,可序列化。正则表达式的编译表示形式。 指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher对象,依照正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。 因此,典型的调用顺序是 Pattern p = Pattern.compile("a*b"); //指定为字符串的正则表达式必须首先被编译为此类的实例。该模式可以被共享。[code][/code] Matcher m = p.matcher("aaaaab");//参数为需要匹配的任意字符序列(CharSequence) boolean b = m.matchers();CharSequence 接口lang包里的从CharBuffer,String,StringBuffer,StringBulider类中抽象出了字符序列的一般化定义 interface CharSequence(){ charAt(int i); length(); subSequence(int start,int end); toString(); }在仅使用一次正则表达式时,可以方便地通过此类定义 matches方法。此方法编译表达式并在单个调用中将输入序列与其匹配。语句 boolean b = Pattern.matches("a*b", "aaaaab");等效于上面的三个语句,尽管对于重复的匹配而言它效率不高,因为它不允许重用已编译的模式。 此类(Pattern)的实例是不可变的,可供多个并发线程安全使用。 Matcher类的实例用于此目的则不安全。 |
异常 PatternSyntaxException String类对于regex的支持 |
public String replaceFirst(String regex,String replacement)
public String replaceAll(String regex, String replacement)matches()方法 public boolean matches(String regex)告知此字符串是否匹配给定的正则表达式。 调用此方法的 str.matches(regex) 形式与以下表达式产生的结果完全相同:
Pattern.
matches(regex, str)
相关文章推荐
- java正则表达式学习笔记(一)
- Java学习笔记之正则表达式
- Java正则表达式学习
- Java正则表达式学习-简单的小工具
- JAVA正则表达式(菜鸟级)
- 正则表达式学习总结, 附java源码
- java正则表达式学习笔记(四)
- java正则表达式学习
- Java 学习历程二之正则表达式
- 黑马程序员 java学习笔记--正则表达式
- JAVA学习正则表达式提取email
- Java 正则表达式学习总结和一些小例子
- java正则表达式的学习
- java 正则表达式学习,非常详细,留着复习
- 正则表达式学习(Java)
- java正则表达式的学习(二)
- Java-正则表达式的学习(Regex Expression)(一)
- 黑马程序员_Java学习日记21_正则表达式
- Java学习笔记-正则表达式的模式匹配
- Java学习笔记----正则表达式