掌握---正则表达式
正则表达式 作用:可以方便的对数据进行匹配,可以执行更加复杂的字符串验证、拆分、替换功能。 核心操作类: ①Pattern类,主要表示一个规则。正则表达式的规则需要在Pattern类中使用。 ②Matcher类,主要表示使用Pattern指定好的验证规则。 值得说明的,这两个类都是在java.util.regex包中。 使用方法: ①Pattern类的实例化,查询JDK API可知,可以利用compile()方法取得Pattern类实例。 ②Matcher类的实例化,查询JDK API可知,可以利用matcher()方法取得Matcher类实例。 需知:利用Pattern类的split()方法可以进行字符串的拆分操作,而利用Matcher类的matches()方法可以进行字符串规则验证操作和replaceAll()方法进行字符串的替换操作。 字符串验证操作: package demo; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexDemo03 { /** * @param args */ publicstatic void main(String[] args) { //TODO Auto-generated method stub Stringstr = "1983-07-27"; Stringpat = "d{4}-d{2}-d{2}"; //定义替换规则 Patternp = Pattern.compile(pat); //实例化Pattern类 Matcherm = p.matcher(str); //实例化Matcher类 if(m.matches()){ System.out.println("日期格式合法!"); }else { System.out.println("日期格式不合法!"); } } } 字符串拆分操作: package demo; import java.util.regex.Pattern; public classRegexDemo04 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Stringstr = "A1B22C33D4444E55555F"; Stringpat = "d+"; // 定义拆分规则 Patternp = Pattern.compile(pat); // 实例化Pattern类 Strings[] = p.split(str); // 进行字符串拆分 for (int i = 0; i < s.length; i++) { System.out.print(s[i] + "t"); } } } 字符串替换操作: package demo; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexDemo05 { /** * @param args */ publicstatic void main(String[] args) { //TODO Auto-generated method stub Stringstr = "A1B22C333D4444E55555F"; Stringpat = "d+"; //定义替换规则 Patternp = Pattern.compile(pat); // 实例化Pattern类 Matcherm = p.matcher(str); //实例化Matcher类 StringnewString = m.replaceAll("_"); //替换数字 System.out.println(newString); } } 基于以上正则表达式的易用性,Java中String类可以对正则表达式支持,以便更加方便的进行字符串的操作。 示例: package demo; public classRegexDemo06 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Stringstr1 = "A1B22C333D4444E55555F".replaceAll("d+","_"); boolean temp = "1983-07-27".matches("d{4}-d{2}-d{2}"); Strings[] = "A1B22C333D4444E55555F".split("d+"); System.out.println("字符串替换操作:" + str1); System.out.println("字符串验证:" + temp); System.out.print("字符串拆分:"); for (int i = 0; i < s.length; i++) { System.out.print(s[i] + "t"); } } } 警示:在正则操作中,如果出现了一些正则表达式中的字符(敏感性的字符),则需要对这些字符进行转义。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |