package com.wepull.regex; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo1 { /** * 判断一个字符串是否由纯数字组成 */ private void fun1() { String str = "0123456789"; System.out.println(str.matches("\\d+")); } private void testString() { // System.out.println("b".matches("."));//true // System.out.println("aa".matches("aa")) ; // System.out.println("aaaa".matches("a*")) ; //true // System.out.println("aaaa".matches("a+")) ;//true // System.out.println("".matches("a*"));//true // System.out.println("aaaa".matches("a?"));//false // System.out.println("".matches("a?"));///true // System.out.println("a".matches("a?")); // System.out.println("3366572".matches("\\d{3,10}"));//true System.out.println("192.168.0.220" .matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")); // // System.out.println("192".matches("[0-2][0-9][0-9]")); } /** * 范围 */ private static void fun5() { // System.out.println( "e".matches("[abc]")); // System.out.println( "e".matches("[^abc]")); // System.out.println( "A".matches("[a-zA-Z]")); // System.out.println( "A".matches("[a-z]|[A-Z]")); // System.out.println( "A".matches("[a-z[A-Z]]")); // System.out.println( "B".matches("[A-Z&&[ABC]]")); } private void testEmail() { String email = "[email protected]"; String regex = "\\w+@\\w+\\.(com|cn|gov|net)"; System.out.println(email.matches(regex)); } private void testEmail2() { String email = "[email protected]"; String regex = "(\\w+)@(\\w+)\\.(com|cn|gov|net)"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(email); if (m.matches()) { System.out.println("第0组" + m.group(0)); System.out.println("第1组" + m.group(1)); System.out.println(m.start(1) + " " + m.end(1)); System.out.println("第2组" + m.group(2)); System.out.println(m.start(2) + " " + m.end(2));
System.out.println("第3组" + m.group(3)); } } private void testFind() { String s = "下面是公司电话号码086-027-87591191-" + "你能使用正则表达式分别找出区号和电话吗?"; String regex = "\\d{3,8}"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(s); while (m.find()) { System.out.println(m.group()); } } public static void main(String[] args) { // new Demo1().fun1(); Demo1 d = new Demo1(); // d.fun5(); // d.testEmail(); // d.testEmail2(); d.testFind(); } }
package com.wepull.regex; import java.util.regex.Pattern; public class TestPattern { /** * String str =“hello444java3377Lady GaGa”, * 按照数字把字符串拆分 (hello,java,lady GaGa) */ private void testSplit() { String str ="hello444java3377Lady GaGa"; Pattern p = Pattern.compile("\\d+");//通过compile方法 编译得到一个指定规范的正则表达式 模板对象 pattern String[] strs = p.split(str);//把字符串按照指定的模式拆分 for (String s : strs) { System.out.println(s); } } /** * @param args */ public static void main(String[] args) { TestPattern t = new TestPattern(); t.testSplit(); } }
package com.wepull.regex; import java.util.regex.Matcher; import java.util.regex.Pattern; public class TestMatcher { /** * String str =“222hello444java3377Lady GaGa”, 把字符字母都替换成 -” */ public void test(){ String str = "222hello444java3377Lady GaGa"; String regex = "[a-zA-Z]+"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str);//通过Pattern对象创建一个匹配器 String s = m.replaceAll("-"); System.out.println(s); } public static void main(String[] args) { TestMatcher t = new TestMatcher(); t.test(); } }