Java教程

【java】正则表达式

本文主要是介绍【java】正则表达式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

参考文章:菜鸟

正则表达式

定义

正则表达式定义了字符串的模式
可以用来搜索、编辑或处理文本
并不限于某一种语言,但是每种语言中有细微的差别

分类

常用

分类解释示例示例解释备注
普通字符串匹配相等的字符串hello world匹配“hello world”全部匹配
. (点号)匹配任意一个字符;只能是一个字符.“a”,“1” …只能是一个字符串
\s+匹配一个或多个空格\s+“ ”,“ ”注意转义
^规定以何种字符串开始^123只使用"^"时,表示全匹配。
\d匹配一个数字\d匹配一个数字范围[0~9]
\d+匹配一个或多个数字\d+匹配一位或多位数字
?设置括号内选项可选^\d+(.\d+)?以整数开始,可以跟小数如 123,1.567括号中的内容规定了整数后面可以加的类型,如本例中,’123java‘为非法内容
.匹配“.”(点号)^\d+(.\d+)?以整数开始,可以跟小数

代码实践

public class RegexDemo {
    public static void main(String[] args) {
        example01(".*com.*","I am the one from com.org."); // true
        example01(".","a"); // true
        example01(".","4"); // true
        example01("\\s+",""); // false
        example01("\\s+"," "); // true
        example01("\\s+","     "); // true
        example01("^123","123"); // true
        example01("^123","1234"); // false
        example01("\\d","1"); // true
        example01("\\d+","1132"); // false
        example01("^\\d+(\\.\\d+)?","123"); // true
        example01("^\\d+(\\.\\d+)?","123.2556"); // true

    }

    /**
     *
     * @param pattern
     * @param content
     */
    public static void example01(String pattern,String content) {
        // 是否匹配
        boolean isMatch = Pattern.matches(pattern,content);
        System.out.println("pattern: "+pattern);
        System.out.println("content: "+content);
        System.out.println("result: "+isMatch);
        System.out.println("========分割线========");
    }
}

结果:

pattern: .*com.*
content: I am the one from com.org.
result: true
========分割线========
pattern: .
content: a
result: true
========分割线========
pattern: .
content: 4
result: true
========分割线========
pattern: \s+
content: 
result: false
========分割线========
pattern: \s+
content:  
result: true
========分割线========
pattern: \s+
content:      
result: true
========分割线========
pattern: ^123
content: 123
result: true
========分割线========
pattern: ^123
content: 1234
result: false
========分割线========
pattern: \d
content: 1
result: true
========分割线========
pattern: \d+
content: 1132
result: true
========分割线========
pattern: ^\d+(\.\d+)?
content: 123
result: true
========分割线========
pattern: ^\d+(\.\d+)?
content: 123java
result: false
========分割线========
pattern: ^\d+(\.\d+)?
content: 123.2556
result: true
========分割线========
这篇关于【java】正则表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!