加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

掌握---正则表达式

发布时间:2020-12-14 01:43:55 所属栏目:百科 来源:网络整理
导读:正则表达式 作用:可以方便的对数据进行匹配,可以执行更加复杂的字符串验证、拆分、替换功能。 核心操作类: ①Pattern类,主要表示一个规则。正则表达式的规则需要在Pattern类中使用。 ②Matcher类,主要表示使用Pattern指定好的验证规则。 值得说明的,这

正则表达式

作用:可以方便的对数据进行匹配,可以执行更加复杂的字符串验证、拆分、替换功能。

核心操作类:

①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");
        }
    }
 
}


警示:在正则操作中,如果出现了一些正则表达式中的字符(敏感性的字符),则需要对这些字符进行转义。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读