[Java] 正则表达式 01 (基本都概览)
2014-01-16 12:27
441 查看
利器
RegularExpressions
RegularExpressions
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { // 简单认识正则表达式的概念 /* * p("abc".matches("...")); p("a8729a".replaceAll("\\d", "-")); Pattern * p = Pattern.compile("[a-z]{3}"); Matcher m = p.matcher("fgh"); // * 有限状态自动机 p(m.matches()); p("fgha".matches("[a-z]{3}")); */ // 初步认识. * + ? /* * p("a".matches(".")); p("aa".matches("aa")); p("aaaa".matches("a*")); * p("aaaa".matches("a+")); p("".matches("a*")); * p("aaaa".matches("a?")); p("".matches("a?")); p("a".matches("a?")); * p("214523145234532".matches("\\d{3,100}")); * p("192.168.0.aaa".matches( * "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")); * p("192".matches("[0-2][0-9][0-9]")); */ // 范围 /* * p("a".matches("[abc]")); p("a".matches("[^abc]")); * p("A".matches("[a-zA-Z]")); p("A".matches("[a-z]|[A-Z]")); * p("A".matches("[a-z[A-Z]]")); p("R".matches("[A-Z&&[RFG]]")); */ // 认识\s \w \d \ /* * p(" \n\r\t".matches("\\s{4}")); p(" ".matches("\\S")); * p("a_8".matches("\\w{3}")); * p("abc888&^%".matches("[a-z]{1,3}\\d+[&^#%]+")); * p("\\".matches("\\\\")); */ // POSIX Style // p("a".matches("\\p{Lower}")); // boundary /* * p("hello sir".matches("^h.*")); p("hello sir".matches(".*ir$")); * p("hello sir".matches("^h[a-z]{1,3}o\\b.*")); * p("hellosir".matches("^h[a-z]{1,3}o\\b.*")); //whilte lines * p(" \n".matches("^[\\s&&[^\\n]]*\\n$")); // 开头是空白字符但不是换行符 * * p("aaa 8888c".matches(".*\\d{4}.")); * p("aaa 8888c".matches(".*\\b\\d{4}.")); * p("aaa8888c".matches(".*\\d{4}.")); * p("aaa8888c".matches(".*\\b\\d{4}.")); */ // email // p("asdfasdfsafsf@dsdfsdf.com".matches("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+")); // matches find lookingAt /* * Pattern p = Pattern.compile("\\d{3,5}"); String s = * "123-34345-234-00"; Matcher m = p.matcher(s); p(m.matches()); * m.reset(); p(m.find()); p(m.start() + "-" + m.end()); p(m.find()); * p(m.start() + "-" + m.end()); p(m.find()); p(m.start() + "-" + * m.end()); p(m.find()); //p(m.start() + "-" + m.end()); * p(m.lookingAt()); p(m.lookingAt()); p(m.lookingAt()); * p(m.lookingAt()); */ // replacement /* * Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE); * Matcher m = * p.matcher("java Java JAVa JaVa IloveJAVA you hateJava afasdfasdf"); * StringBuffer buf = new StringBuffer(); int i=0; while(m.find()) { * i++; if(i%2 == 0) { m.appendReplacement(buf, "java"); } else { * m.appendReplacement(buf, "JAVA"); } } m.appendTail(buf); p(buf); */ // group /* * Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})"); String s = * "123aa-34345bb-234cc-00"; Matcher m = p.matcher(s); while(m.find()) { * p(m.group()); } */ // qulifiers /* * Pattern p = Pattern.compile(".{3,10}+[0-9]"); String s = * "aaaa5bbbb68"; Matcher m = p.matcher(s); if(m.find()) p(m.start() + * "-" + m.end()); else p("not match!"); */ // non-capturing groups /* * Pattern p = Pattern.compile(".{3}(?=a)"); String s = "444a66b"; * Matcher m = p.matcher(s); while(m.find()) { p(m.group()); } */ // back refenrences /* * Pattern p = Pattern.compile("(\\d(\\d))\\2"); String s = "122"; * Matcher m = p.matcher(s); p(m.matches()); */ // flags的简写 // Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE); p("Java".matches("(?i)(java)")); } public static void p(Object o) { System.out.println(o); } }
相关文章推荐
- [Java] 正则表达式 01 (基本都概览)
- JAVA正则表达式
- 深入理解java虚拟机【并发编程三特性】
- Spring工具包下载地址和方法
- java web 项目如何获取客户端登录帐号信息(用于SSO或其他)
- Java实现静态链表
- Eclipse下svn的创建分支/合并/切换使用
- Struts遍历标签<s:iterator>总结
- [Leetcode] Largest Rectangle in Histogram (Java)
- Java 单例模式详解
- 教程1:java编程工具配置
- java中String,int,Integer,char,Long,Float,Double,Date 类型转换
- 关于spring的IOC你了解多少?
- 二进制转换成16进制 java string
- JUnit-4.11使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误
- java中创建对象的方法
- java多线程编程
- java学习概览
- Java生成验证码
- Spring Mvc @RequestMapping 基本用法