[Java 11] 正则表达式-入门
Pattern 类的常用方法
1, public static Pattern compile(String regex) 普通 指定正则表达式的规则 2, public Matcher matcher(CharSequence input) 返回 Matcher 类实例 3, public String[] split(CharSequence input) 字符串拆分
Matcher 类常用方法
<strong>public boolean matches() 执行验证 public String replaceAll(String replacement) 字符串替换</strong>
判断字符串是否由数字组成
RegexDemo02
package com.qunar.basicJava.javase.p11CommonlyUsedClass.regex; import java.util.regex.Pattern; /** * Author: libin.chen@qunar.com Date: 14-6-4 17:20 */ public class RegexDemo02 { public static void main(String[] args) { String str = "1234567890"; if (Pattern.compile("[0-9]+").matcher(str).matches()) { System.out.println("由数字组成"); } else { System.out.println("不是由数字组成的"); } } // Pattern 类 : 正则表达式的正则规范 // Matcher 类 : 正则表达式的执行规范 }RegexDemo03
package com.qunar.basicJava.javase.p11CommonlyUsedClass.regex; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Author: libin.chen@qunar.com Date: 14-6-4 20:23 */ public class RegexDemo03 { public static void main(String[] args) { String str = "1983-07-27"; String pat = "\\d{4}-\\d{2}-\\d{2}"; Pattern pattern = Pattern.compile(pat); Matcher matcher = pattern.matcher(str); if (matcher.matches()) { System.out.println("日期合法"); } else { System.out.println("日期不合法"); } String str2 = "A1B22C333D4444E55F"; String pat2 = "\\d+"; Pattern pattern2 = Pattern.compile(pat2); String s[] = pattern2.split(str2); for (String string : s) { System.out.print(string + "\t"); } Matcher matcher1 = pattern2.matcher(str2); String newString = matcher1.replaceAll("--"); System.out.println(newString); } }Spring 对正则表达式的支持
package com.qunar.basicJava.javase.p11CommonlyUsedClass.regex; /** * Author: libin.chen@qunar.com Date: 14-6-5 09:04 */ public class RegexDemo06 { public static void main(String[] args) { String str1 = "A1B22C333D4444E55F".replaceAll("\\d+", "_"); boolean temp = "1983-07-27".matches("\\d{4}-\\d{2}-\\d{2}"); String s[] = "A1B22C33D44E55F".split("\\d+"); System.out.println(str1); System.out.println(temp); for (String s1 : s) { System.out.print(s1 + "\t"); } } }如果 String 能解决,其实,使用 String 可能更简单,简化代码。