栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java正则表达式初了解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java正则表达式初了解

1、正则表达式的定义

首先,我们要知道正则表达式是什么东西

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,
来组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

即用一种自定义的逻辑模式来对字符串进行匹配。

2、正则表达式的用处

既然科学家提出、并规范了这个模式,那必然有其神奇的作用:

1、灵活性、逻辑性和功能性非常强;
2、可以迅速地用极简单的方式达到字符串的复杂控制。
3、可以判断给定的字符串是否符合正则表达式的过滤逻辑,即是否匹配这个模式
4、可以通过正则表达式,从字符串中获取我们想要的特定部分。

3、正则表达式的基础用法

1、逻辑判断

public static void main(String[] args) {
        String pattern = "12345678";
		String regex = "1[234]\d{6}";
		System.out.println(pattern.matches(regex));		
		//输出结果为true
    }

我们先通过观察一段代码,看看最简单的一段正则表达式的匹配过程。

首先是给定一段pattern(模式串),在给定regex(正则表达式),然后我们调用了pattern的matches函数

而matches函数实际上就是做匹配的过程。那什么是匹配呢?我们会发现regex里面是一堆奇奇怪怪的字符**“1[234]\d{6}”**

这正是正则表达式的奥妙所在,简单来说这是正则表达式的一种逻辑语法,通过对逻辑的判断来进行匹配

比如"1[234]d{6}",开头的1就代表第一个数字必须是1,[234]就代表第二个数字为2或3或4,而"\d{6}"则代表接下来将出现6个数字。而输出结果是true,也就说明模式串是符合正则表达式的逻辑模式的。

2、替换功能

public static void main(String[] args) {
        String pattern = "12345678";
        String regex = "[128]";
        String s = "\$";
        System.out.println(pattern.replaceAll(regex, s));
        //输出结果为$$34567$
    }

通过pattern的replaceAll函数,传入regex = "[128]"和s="\$",
我们将模式串中的1或2或8替换成了$

3、分割功能

public static void main(String[] args) {
        String pattern="12345678";
        String regex = "[357]";
        String[] res = pattern.split(regex);
        for(String i : res) {
            System.out.println(i);
        }
        //输出结果为12 4 6 8
    }

通过pattern的split函数,传入regex = "[357]",我们将模式串中的3或5或7为分割线,将字符串分成了12、4、6、8四个字符串

4、以下例举了一些regex中常用的元字符:


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/667537.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号