首页 > 编程语言 >JAVA正则表达式

JAVA正则表达式

时间:2023-03-23 18:44:46浏览次数:51  
标签:字符 匹配 String 正则表达式 字符串 JAVA public

JAVA正则表达式

参考 Java 正则表达式 | 菜鸟教程 (runoob.com)

1.正则表达式是什么

正则表达式(Regular Expression)是一种文本模式,包括普通字符和特殊字符。

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

2.正则表达式有什么用

(1) 测试字符串内的模式。

(2) 替换文本。

(3) 基于模式匹配从字符串中提取子字符串。

3.JAVA正则表达式基础

java.util.regex 包主要包括以下三个类:

Pattern 类 Matcher 类 PatternSyntaxException

import java.util.regex.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
String pattern = "^abc";
boolean isMatch = Pattern.matches(pattern, content);
//调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象

当解释为正则表达式时,字符串字面值 "\b" 与单个退格字符匹配,而 "\b" 与单词边界匹配。字符串字面值 "(hello)" 是非法的,将导致编译时错误;要与字符串 (hello) 匹配,必须使用字符串字面值 "\(hello\)"。

限定符

(?) 前面的字符可有可无 //如果要前面多个字符就用()括起

(*)前面的字符出现次数在0到无穷

(+)前面的字符出现次数在1到无穷

{数字} 前面字符出现数字次

{数字,} 前面字符至少出现数字次

{数字1,数字2} 前面的字符出现数字1到数字2次

或运算符

(abc|def)可以匹配abc或者def

字符类

[abc]+ 可以匹配由abc组成的字符串

[a-z]+ 可以匹配由a到z组成的字符串

[^a-z]+ 可以匹配除a-z的字符串

元字符

\d 数字字符digit [0-9] \D 非数字字符\\大写同理

\w 单词字符word 任意字母、数字、下划线[A-Za-z0-9_]

\s 空白符Tab和换行

. 任意字符不包括换行符

^匹配行首 $匹配行尾

贪婪与懒惰匹配

正常匹配会匹配尽可能多的字符

加个?会使贪婪匹配转换为懒惰匹配

例如<.+>变成<.+?>从匹配最远一个>到最近一个

Matcher 类的方法

索引方法

public int start()  //返回以前匹配的初始索引。
public int start(int group)  //返回在以前的匹配操作期间,由给定组所捕获的子序列的初始索引
public int end()  //返回最后匹配字符之后的偏移量。
public int end(int group) //返回在以前的匹配操作期间,由给定组所捕获子序列的最后字符之后的偏移量。

查找方法

public boolean lookingAt()  //尝试将从区域开头开始的输入序列与该模式匹配。
public boolean find()  //尝试查找与该模式匹配的输入序列的下一个子序列。
public boolean find(int start) // 重置此匹配器,然后尝试查找匹配该模式、从指定索引开始的输入序列的下一个子序列。
public boolean matches()   //尝试将整个区域与模式匹配。

替换方法

public Matcher appendReplacement(StringBuffer sb, String replacement)   //实现非终端添加和替换步骤。
public StringBuffer appendTail(StringBuffer sb)   //实现终端添加和替换步骤。
public String replaceAll(String replacement) //替换模式与给定替换字符串相匹配的输入序列的每个子序列。
public String replaceFirst(String replacement) //替换模式与给定替换字符串匹配的输入序列的第一个子序列。
public static String quoteReplacement(String s) //返回指定字符串的字面替换字符串。这个方法返回一个字符串,就像传递给Matcher类的appendReplacement 方法一个字面字符串一样工作。        

标签:字符,匹配,String,正则表达式,字符串,JAVA,public
From: https://www.cnblogs.com/dry-myrica/p/17248507.html

相关文章

  • Java循环
    Java循环Java中有三种主要循环结构:while循环do...while循环for循环while循环while循环结构为:1while(布尔表达式){2//循环内容3}只要布尔表达式为true......
  • java中<<,>>和>>>的含义
    <<表示左移运算符例如8<<2,表示将8向左移2位,结果为32。低位补0。二进制演算:8的二进制:1000向左移动两位结果为100000,换算成十进制即为32,也可以简单的理解为,左移就......
  • javaweb-vue快速入门
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾视频链接知识点Vue前置条件:需要在项目中放入vue.js文件1){{}......
  • java 原生项目 使用 log4j 写日志 及 log4j.properties 配置说明
    今天遇到一个java原生项目要使用log4j写日志(非maven),写下来供大家参考下载log4j包Apachelog4j1.2-DownloadApachelog4j1.2 把这个文件放到 项目的......
  • 正则表达式
    正则表达式\((regular\expression)\)正则表达式是一个字符串,用来描述匹配一个字符串集合的模式,可以使用正则表达式来匹配、替换和拆分字符串匹配字符串我们先来看......
  • 正则表达式
    正则表达式:用特殊符号表达,符号属于通用符号基本正则:优点:兼容性强 缺点:繁琐处理单位是一个符号^//匹配行首$//匹配行尾^$......
  • java虚拟机(JVM)一
    一、什么是JVM?JVM是一种规范,虚构的计算机(冯诺依曼计算机结构)。跨语言的平台。也就是编译后是二、JVM要学什么?源码到类文件类文件到JVMJVM中各种处理(内部结构、执行方式......
  • Java stream 流
    Javastream流中间操作1、filter作用:将流中的元素,基于自定义的比较器进行去重方法定义Stream<T>filter(Predicate<?superT>predicate);说明:这个方法,传入一个Pr......
  • Java String 避免空指针的方法
    1.方法1判等时将变量作为参数或者使用TextUtils工具"".equals(name)TextUtils.equals(name,null)2.方法2使用TextUtils工具TextUtils.isEmpty(name)3.使用tryc......
  • Java数组的动态初始化与静态初始化和常见问题
    一、动态初始化数组的格式:数据类型[]数组名=new数据类型[数组长度];在创建的时候,由我们自己指定数组的长度,由虚拟机给出默认的初始化值。数组默认的初始值规律:1、......