首页 > 编程语言 >java正则表达式不包含

java正则表达式不包含

时间:2023-07-22 23:32:41浏览次数:37  
标签:匹配 包含 正则表达式 步骤 +-------+--------+ 查找 字符串 java

如何在Java中使用正则表达式进行不包含匹配

引言

正则表达式是一种强大的文本匹配工具,它可以帮助我们在字符串中查找、替换或验证特定的模式。在Java中,我们可以使用java.util.regex包中的类来操作正则表达式。本文将教会你如何在Java中使用正则表达式进行不包含匹配。

流程图

以下是整个流程的简要概述:

  1. 创建一个正则表达式模式。
  2. 创建一个匹配器对象,用于在输入字符串中查找模式。
  3. 使用find()方法来查找下一个匹配项,如果找到,则返回true
  4. 如果找到匹配项,则判断是否包含不希望出现的子字符串。
  5. 如果不包含子字符串,则进行相应的操作。
  6. 继续从步骤3重复查找下一个匹配项,直到没有更多的匹配项为止。

下面是一个更详细的流程图:

                           +----------------+
                           |   创建正则表达式  |
                           |   模式           |
                           +-------+--------+
                                   |
                                   v
                           +-------+--------+
                           |   创建匹配器对象 |
                           +-------+--------+
                                   |
                                   v
                           +-------+--------+
                           |   使用find()   |
                           |   方法查找下一 |
                           |   个匹配项     |
                           +-------+--------+
                                   |
                                   v
                           +-------+--------+
                           |   判断找到的  |
                           |   匹配项是否   |
                           |   包含不希望   |
                           |   出现的子字   |
                           |   符串         |
                           +-------+--------+
                                   |
            +------------+--------v--------+--------------+
            | 如果不包含不 |   执行相应的    |    继续从步骤3  |
            | 希望出现的  |   操作          |    重复查找下  |
            | 子字符串    |                |    一个匹配项  |
            +-------+----+--------+-------+--------------+
                    |             |
                    v             v
  +-----------------+----+   +----+-----------------+
  | 如果包含不希望出现的   |   | 如果不包含不希望出现的   |
  | 子字符串              |   | 子字符串                  |
  | 继续从步骤3重复查找下  |   | 继续从步骤3重复查找下    |
  | 一个匹配项           |   | 一个匹配项               |
  +-----------------+----+   +------------------------+
                    |
                    v
                 结束

实施步骤

下面我们将逐步实施上述流程中的每一步骤,并提供相应的代码实例。

步骤1:创建正则表达式模式

首先,我们需要创建一个正则表达式模式,用于指定我们想要查找的模式。在Java中,可以使用Pattern.compile()方法来创建模式对象。例如,如果我们想要查找不包含字符串"abc"的模式,可以使用以下代码:

Pattern pattern = Pattern.compile("^(?!.*abc).*$");

这里使用了^$来指定字符串的开始和结束,(?!.*abc)表示不包含字符串"abc"

步骤2:创建匹配器对象

接下来,我们需要创建一个匹配器对象,用于在输入字符串中查找模式。可以使用pattern.matcher()方法来创建匹配器对象。例如,我们可以使用以下代码:

Matcher matcher = pattern.matcher(inputString);

这里的inputString是你想要在其中进行匹配的字符串。

步骤3:使用find()方法查找下一个匹配项

使用find()方法来查找下一个匹配项。这个方法返回一个布尔值,如果找到匹配项,则返回true。我们可以使用一个while循环来重复查找匹配项直到没有更多的匹配项为止。例如:

while (matcher.find()) {
    // 在这里进行处理找到的匹配

标签:匹配,包含,正则表达式,步骤,+-------+--------+,查找,字符串,java
From: https://blog.51cto.com/u_16175495/6819751

相关文章

  • java正则表达式包含数字字母
    实现"Java正则表达式包含数字字母"1.概览在本文中,我将教你如何使用Java正则表达式来判断一个字符串是否包含数字和字母。我们将按照以下步骤进行操作:创建一个正则表达式模式,用于匹配包含数字和字母的字符串。创建一个Pattern对象,用于编译正则表达式。创建一个Matcher对象,用......
  • java正则表达式 不以数字开头输出
    Java正则表达式:不以数字开头输出介绍正则表达式是一种强大的模式匹配工具,可以用来在文本中查找、替换、拆分等操作。在Java中,可以使用java.util.regex包中的类来操作正则表达式。本文将介绍如何使用正则表达式来判断一个字符串是否不以数字开头,并提供代码示例。正则表达式语法......
  • java正则 只能为某字符串值输入
    Java正则表达式:只能为某字符串值输入导言在日常的编程工作中,我们常常需要对输入进行验证。例如,我们可能只希望用户输入特定的字符串值。为了实现这个功能,我们可以使用Java正则表达式。正则表达式是一种强大的模式匹配工具,可以用来在字符串中查找、替换、验证等操作。在Java中,我......
  • 2-5 编写函数 any(s1, s2),将字符串 s2 中的任一字符在字符串 s1 中第一次 出现的位置
    稍作修改,不返回任意字符...位置,直接输出所有符合条件...位置ArchlinuxGCC13.1.1 202304292023-07-2222:59:55星期六 点击查看代码#include<stdio.h>voidany(chars1[],chars2[]){inti,j,sign,cnt;i=j=sign=cnt=0;for(i=0;......
  • 老杜 JavaWeb 讲解(十三) ——JSP简单了解
    (十四)JSP相关视频:35-JSP原理深度解析36-JSP的各种基础语法37-JSP的输出语法第一个JSP程序在WEB-INF目录之外创建一个index.jsp文件,然后这个文件中没有任何内容。将上面的项目部署之后,启动服务器,打开浏览器,访问以下地址:http://localhost:8080/jsp/index.jsp展现......
  • java list 随机排序
    java list随机排序 packagecom.vfsd.test;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Collections;importjava.util.List;importjava.util.stream.Collectors;publicclassTest_List_Shuffle{publicstaticvoidma......
  • macos 安装java1.8
    如何在macOS上安装Java1.8作为一名经验丰富的开发者,我很乐意教会你如何在macOS上安装Java1.8。下面是整个过程的步骤,并附带了每一步需要执行的代码和注释。步骤概览步骤描述步骤1确认系统上是否已经安装了Java步骤2下载并安装JavaDevelopmentKit(J......
  • 每日汇报 第四周第七天 简单的css和JAVAI/O流
    今日所学:简单的css设计;掌握BufferedInputStream类与BufferedOutputStream类的构造方法及其参数含义;明确BufferedReader类与BufferedWriter类是以行为单位进行输入/输出的;掌握BufferedReader类与BufferedWriter类中的常用方法。html:1<!DOCTYPEhtml>2<htmllang="en">......
  • JavaScript
    溢出属性p{height:100px;width:50px;border:3pxsolidred;/*overflow:visible;!*默认就是可见溢出还是展示*!*//*overflow:hidden;!*溢出部分直接隐藏*!*//*overflow:scroll;!*设......
  • java中tomcat 加载动态库XXX.dll报错“java.lang.UnsatisfiedLinkError: already load
    错误:在Tomcat项目和supermapiserverwar包中使用了相同的supermapjavaiobject【四个jar包】,实际的访问过程如下:这时候在访问Tomcat的时候,就会出现一个错误:anexceptioncaughtatEnvironment.loadLibrary(),programwillcontinuerunning.java.lang.UnsatisfiedL......