java 正则表达式基础,实例学习资料收集大全 原创

yizhihongxing

Java 正则表达式基础

什么是正则表达式

正则表达式(Regular Expression)是一种用来描述字符串模式的工具,可以被用于用于搜索、匹配、替换等字符串操作。正则表达式本身是一个由字符和操作符组成的字符串。

在 Java 中,使用 java.util.regex 包中的类来实现正则表达式的操作。

正则表达式基础语法

  1. 字符匹配:用单个字符匹配目标字符串中出现的指定字符。例如,正则表达式 a 表示匹配目标字符串中出现的字符 a
  2. 字符类匹配:用一组字符匹配目标字符串中出现的一个字符。例如,正则表达式 [abc] 表示匹配目标字符串中出现的字符 abc
  3. 范围匹配:用一个范围匹配目标字符串中出现的一个字符。例如,正则表达式 [a-d] 表示匹配目标字符串中出现的字符 ad 中的任意一个。
  4. 负向字符类匹配:用一组不在指定字符集合中的字符匹配目标字符串中出现的一个字符。例如,正则表达式 [^abc] 表示不匹配目标字符串中出现的字符 abc
  5. 预定义字符类匹配:匹配一组经常使用的字符。例如,正则表达式 \\d 表示匹配任意一个数字,等效于 [0-9]
  6. 数量词:指定匹配前面字符的次数。例如,正则表达式 a{3} 表示匹配目标字符串中至少连续出现 3 个字符 a
  7. 或运算:匹配多个正则表达式之一。例如,正则表达式 a|b 表示匹配目标字符串中出现的字符 a 或字符 b
  8. 捕获组:找到一个子字符串并在匹配成功时将其分配给一个捕获组。例如,正则表达式 (a|b)c 可以匹配目标字符串中出现的 acbc,并将 ab 分别分配给捕获组 1。

Java 中的正则表达式

在 Java 中,使用 java.util.regex 包中的类实现正则表达式。其中,常用的类有 PatternMatcher

创建 Pattern 对象

要使用正则表达式,首先需要使用 Pattern 类的 compile() 方法创建一个 Pattern 对象。

Pattern pattern = Pattern.compile("正则表达式");

匹配 String 对象

使用 Matcher 类的 matches() 方法可以匹配一个 String 对象。

String str = "字符串";
boolean isMatch = pattern.matcher(str).matches();

匹配部分字符串

如果需要从目标字符串中匹配出子字符串并分配给捕获组,可以使用 Matcher 类的 group() 方法。

Pattern pattern = Pattern.compile("(\\d\\d)(\\w)");
String str = "12A";
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
    String group1 = matcher.group(1); // 分配给第一个捕获组的内容
    String group2 = matcher.group(2); // 分配给第二个捕获组的内容
}

Java 中的正则表达式实例

以下是一些正则表达式的实例:

匹配电子邮件地址

Pattern pattern = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$");
String email = "example@example.com";
boolean isMatch = pattern.matcher(email).matches();

匹配手机号码

Pattern pattern = Pattern.compile("^1[0-9]{10}$");
String phone = "12345678901";
boolean isMatch = pattern.matcher(phone).matches();

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 正则表达式基础,实例学习资料收集大全 原创 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • mysql记录根据日期字段倒序输出

    下面给出MySQL记录根据日期字段倒序输出的完整攻略。 1. 创建测试数据 CREATE TABLE `test_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `data` varchar(255) NOT NULL, `date` date NOT NULL, PRIMARY KEY (`id`) ) ENG…

    database 2023年5月22日
    00
  • SQL Server中Sequence对象用法

    SQL Server中Sequence对象用法攻略 什么是Sequence对象 Sequence对象是在SQL Server 2012版本中引入的一种数据库对象,用于生成连续的数字序列。SEQUENCE是一种SQL Server对象,它可以生成自增数字值序列,可以作为一个替换传统标识符的解决方案,还可以用于与应用程序的自定义代码一起使用。 Sequence对…

    database 2023年5月21日
    00
  • Linux中redis服务开启docker运行redis并设置密码

    //查询目前可用的reids镜像 docker search redis //选择拉取官网的镜像 docker pull redis //查看本地是否有redis镜像 docker images //运行redis并设置密码 docker run -d –name myredis -p 6379:6379 redis –requirepass “mypa…

    Redis 2023年4月13日
    00
  • Python操作Redis的5种数据类型

    1.连接redis(两种方式) # decode_responses=True: 解决获取的值类型是bytes字节问题 r = redis.Redis(host=’localhost’, port=’6379′, db=0, decode_responses=True)    pool = redis.ConnectionPool(host=’localho…

    Redis 2023年4月12日
    00
  • mysql2redis

    目前在测试环境研究这方面的应用,以下是git上面的介绍 git入口    git安装入口 Dependencies please download the dependencies below and compile/install it properly : apr-1.4.6(http://apr.apache.org/download.cgi) apr…

    Redis 2023年4月13日
    00
  • Servermanager启动连接数据库错误如何解决

    Servermanager启动连接数据库错误如何解决 问题简述 当使用Servermanager启动连接数据库时,可能会遇到错误提示信息。这些错误信息可能由于多种原因引起,如数据库配置不正确、数据库服务未启动等。 解决步骤 以下是解决该问题的步骤: 步骤一:检查数据库配置 确认数据库服务器的名称、登录名和密码是否正确。 确认Servermanager连接字符…

    database 2023年5月19日
    00
  • MySQL DELETE语法使用详细解析

    MySQL DELETE语法使用详细解析 DELETE语句常用于删除MySQL表中的一条或多条记录。在本文中,将为您详细介绍MySQL DELETE语法。 语法 以下是MySQL DELETE语法的基本结构: DELETE FROM table_name WHERE condition; 其中,table_name是要删除数据的表的名称,condition是…

    database 2023年5月22日
    00
  • SQL查询超时的设置方法(关于timeout的处理)

    当我们在使用SQL查询时,如果数据量过大或者查询语句过于复杂,就很容易出现查询超时的问题。在这种情况下,我们需要对SQL查询的timeout进行设置。以下是关于SQL查询超时的设置方法的完整攻略。 1. 设置连接字符串的超时时间 在使用SQL Server连接字符串时,我们可以通过在连接字符串中设置超时时间来控制查询的超时时间。具体设置方法如下: // 在连…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部