【java】正则表达式

本文介绍了正则表达式的基本概念、分类和常见用法,并提供了代码示例进行演示,包括匹配字符串、数字、空格等。通过示例展示了正则表达式的功能和在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章:菜鸟

正则表达式

定义

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

分类

常用

分类解释示例示例解释备注
普通字符串匹配相等的字符串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
========分割线========
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值