Regular expression-dot character'.'

Dot character **.**

In the default mode, it matches any character except the newline character.
In single-line matching mode, it matches any character, including line breaks.

package com.liguogang.utils;

import com.sun.org.apache.regexp.internal.RE;

import java.util.regex.Pattern;

public class RegexUtil {
    
    

    public static void main(String[] args) {
    
    
        String regex = ".";
        // 匹配单个字母
        match(1, "匹配单个字母",  regex, "a");
        // 匹配单个数字
        match(2, "匹配单个数字", regex, "0");
        // 匹配制表符 tab
        match(3, "匹配制表符 tab", regex, "\t");
        // 匹配回车符
        match(4, "匹配回车符", regex, "\r");
        // 匹配换行符
        match(5, "匹配换行符", regex, "\n");
        // 匹配单个字母
        singleMatch(6, "匹配单个字母", regex, "a");
        // 匹配单个数字
        singleMatch(7, "匹配单个数字", regex, "0");
        // 匹配制表符 tab
        singleMatch(8, "匹配制表符 tab", regex, "\t");
        // 匹配回车符
        singleMatch(9, "匹配回车符", regex, "\r");
        // 匹配换行符
        singleMatch(10, "匹配换行符", regex, "\n");
    }

    // 默认模式
    public static boolean match(int order, String description, String regex, String input) {
    
    
        if (null == input) {
    
    
            return false;
        }
        boolean matches = Pattern
                .compile(regex)
                .matcher(input)
                .matches();
        System.out.println(String.format("-----------------%s.match %s------------------", order, description));
        System.out.println(String.format("<regex>%s</regex>", regex));
        System.out.println(String.format("<input>%s</input>", input));
        System.out.println(String.format("<matches>%s</matches>", matches));
        return matches;
    }

    // 单行模式
    public static boolean singleMatch(int order, String description, String regex, String input) {
    
    
        if (null == input) {
    
    
            return false;
        }
        boolean matches = Pattern
                .compile(regex, Pattern.DOTALL)
                .matcher(input)
                .matches();
        System.out.println(String.format("-----------------%s.singleMatch %s------------------", order, description));
        System.out.println(String.format("<regex>%s</regex>", regex));
        System.out.println(String.format("<input>%s</input>", input));
        System.out.println(String.format("<matches>%s</matches>", matches));
        return matches;
    }
}


D:\Java\jdk1.8.0_181\bin\java.exe "-javaagent:D:\devTools\idea\IntelliJ IDEA 2019.3.1\lib\idea_rt.jar=51701:D:\devTools\idea\IntelliJ IDEA 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath D:\Java\jdk1.8.0_181\jre\lib\charsets.jar;D:\Java\jdk1.8.0_181\jre\lib\deploy.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\access-bridge-64.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\cldrdata.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\dnsns.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\jaccess.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\jfxrt.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\localedata.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\nashorn.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\sunec.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\sunjce_provider.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\sunmscapi.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\sunpkcs11.jar;D:\Java\jdk1.8.0_181\jre\lib\ext\zipfs.jar;D:\Java\jdk1.8.0_181\jre\lib\javaws.jar;D:\Java\jdk1.8.0_181\jre\lib\jce.jar;D:\Java\jdk1.8.0_181\jre\lib\jfr.jar;D:\Java\jdk1.8.0_181\jre\lib\jfxswt.jar;D:\Java\jdk1.8.0_181\jre\lib\jsse.jar;D:\Java\jdk1.8.0_181\jre\lib\management-agent.jar;D:\Java\jdk1.8.0_181\jre\lib\plugin.jar;D:\Java\jdk1.8.0_181\jre\lib\resources.jar;D:\Java\jdk1.8.0_181\jre\lib\rt.jar;D:\Java\jdk1.8.0_181\lib\tools.jar;E:\project\top\target\classes com.liguogang.utils.RegexUtil
-----------------1.match 匹配单个字母------------------
<regex>.</regex>
<input>a</input>
<matches>true</matches>
-----------------2.match 匹配单个数字------------------
<regex>.</regex>
<input>0</input>
<matches>true</matches>
-----------------3.match 匹配制表符 tab------------------
<regex>.</regex>
<input>	</input>
<matches>true</matches>
-----------------4.match 匹配回车符------------------
<regex>.</regex>
</input>
<matches>false</matches>
-----------------5.match 匹配换行符------------------
<regex>.</regex>
<input>
</input>
<matches>false</matches>
-----------------6.singleMatch 匹配单个字母------------------
<regex>.</regex>
<input>a</input>
<matches>true</matches>
-----------------7.singleMatch 匹配单个数字------------------
<regex>.</regex>
<input>0</input>
<matches>true</matches>
-----------------8.singleMatch 匹配制表符 tab------------------
<regex>.</regex>
<input>	</input>
<matches>true</matches>
-----------------9.singleMatch 匹配回车符------------------
<regex>.</regex>
</input>
<matches>true</matches>
-----------------10.singleMatch 匹配换行符------------------
<regex>.</regex>
<input>
</input>
<matches>true</matches>

Process finished with exit code 0

Guess you like

Origin blog.csdn.net/qq_37335220/article/details/114166483