首页 > 编程语言 >20230626 java.util.regex.Pattern

20230626 java.util.regex.Pattern

时间:2023-08-29 17:12:02浏览次数:55  
标签:regex 20230626 java String Pattern 模式 util Unicode 匹配

介绍

  • java.util.regex.Pattern
  • public final class Pattern implements java.io.Serializable
  • 正则表达式的编译表示

API

常量

flag

  • UNIX_LINES
    • 启用 UNIX 行模式
    • 在多行模式中匹配 ^$ 时,只有 \n 被识别成行终止符
  • CASE_INSENSITIVE
    • 不区分大小写
    • 匹配字符时忽略字母的大小写,默认情况下,这个标志只考虑 US ASCII 字符
  • COMMENTS
    • 注释模式
    • 空白字符和注释(从 # 到行末尾)将被忽略
  • MULTILINE
    • 多行模式
    • ^$ 匹配行的开头和结尾,而不是整个输入的开头和结尾
  • LITERAL
    • 字面值模式
    • 该模式将被逐字地采纳,必须精确匹配,因字母大小写而造成的差异除外
  • DOTALL
    • 点号模式
    • 当使用这个标志时,. 符号匹配所有字符,包括行终止符
  • UNICODE_CASE
    • 启用Unicode区域设置感知的区分大小写
    • 选择 Unicode 字符类代替 POSIX ,其中蕴含了 UNICODE_CASE
  • CANON_EQ
    • 正则表达式使用Unicode规范等价形式
    • 考虑 Unicode 字符规范的等价性,例如,u 后面跟随 ¨(分音符号)匹配 ü
  • UNICODE_CHARACTER_CLASS
    • 启用Unicode字符类
    • 当与 CASE_INSENSITIVE 组合使用时,用 Unicode 字母的大小写来匹配

static

  • compile
    • Pattern compile(String regex)
    • Pattern compile(String regex, int flags)
    • 把正则表达式字符串编译到一个用于快速处理匹配的模式对象中
    • flags 使用在 Pattern 类中定义的常量,如果需要多个,通过 | 计算后传入,例如 Pattern.CASE_INSENSITIVE | Pattern.DOTALL
    • flags 默认是 0 ,不启用任何 flag
  • matches
    • boolean matches(String regex, CharSequence input)
  • quote
    • String quote(String s)

public

  • pattern

    • 对应 regex
  • flags

  • matcher

    • 返回 matcher 对象,你可以用它在输入中定位模式的匹配
  • split, splitAsStream

    • 将输入分割成标记,其中模式指定了分隔符的形式
    • 返回标记数组,分隔符并非标记的一部分
  • asPredicate

    • Predicate<String> asPredicate()
    • 使用 Matcher.find 判断
  • asMatchPredicate

    • Predicate<String> asMatchPredicate()
    • 使用 Matcher.matches 判断

标签:regex,20230626,java,String,Pattern,模式,util,Unicode,匹配
From: https://www.cnblogs.com/huangwenjie/p/17650382.html

相关文章

  • 20230626 java.util.regex.Matcher
    介绍java.util.regex.MatcherpublicfinalclassMatcherimplementsMatchResult通过解释Pattern对字符序列执行匹配操作的引擎匹配器关联方法Pattern.matchesAPIstaticquoteReplacement转义所有\和$,避免使用replace方法时出现意外java.util.regex.Mat......
  • 20230621 java.io.Reader
    介绍java.io.ReaderpublicabstractclassReaderimplementsReadable,CloseableAPIreadabstractintread(char[]cbuf,intoff,intlen)throwsIOException;唯一的抽象方法intread()throwsIOExceptionintread(char[]cbuf)throwsIOExceptionintrea......
  • 20230621 java.io.OutputStream
    介绍java.io.OutputStreampublicabstractclassOutputStreamimplementsCloseable,FlushableFilterOutputStream是典型的装饰器设计模式,很多子类继承这个类,提供额外的功能protectedOutputStreamout;publicFilterOutputStream(OutputStreamout){this.out=ou......
  • 20230621 java.io.InputStream
    介绍java.io.InputStreampublicabstractclassInputStreamimplementsCloseableFilterInputStream是典型的装饰器设计模式,很多子类继承这个类,提供额外的功能protectedvolatileInputStreamin;protectedFilterInputStream(InputStreamin){this.in=in;}装......
  • Java-mybatis语法
    @Data@BuilderpublicclassICoverageDao{privateStringclassName;privateStringmethodName;privateStringcounterType;privateStringcounterMissed;privateStringcounterCovered;}Mapper添加语法privateSqlSessionTemplatetempl......
  • ArcGIS for javascript 加载天地图瓦片
    ArcGISforjavascript(4.27)加载天地图瓦片importMapfrom"@arcgis/core/Map";importMapViewfrom'@arcgis/core/views/MapView';importWebTileLayerfrom'@arcgis/core/layers/WebTileLayer';constvecLayer=newWebTileLayer('ht......
  • java基础(根据狂神总结)
    java基础(狂神)注释单行//多行/**/文档注释(可以加参数)/****/***@Descriptionhelloworld*@Authorcheems*/}数据类型类型基本数据类型数值类整数(查看最大字节大小,通过对应的类的源码看)byte占1个字节short2in......
  • Java中使用JTS对空间几何计算(读取WKT、距离、点在面内、长度、面积、相交等)
    场景基于GIS相关的集成系统,需要对空间数据做一些判断处理。比如读取WKT数据、点到点、点到线、点到面的距离,线的长度、面的面积、点是否在面内等处理。JTS(JavaTopologySuite)Java拓扑套件,是Java的处理地理数据的API。github地址:https://github.com/locationtech/jtsAPI......
  • [java基础知识复习] Java基础知识总结分享一
    写代码:1,明确需求。我要做什么?2,分析思路。我要怎么做?1,2,3。3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的java语言代码把思路体现出来。学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。demo4,该技术什么时候用?test。————......
  • redis分布式锁,setnx+lua脚本的java实现
    1前言在现在工作中,为保障服务的高可用,应对单点故障、负载量过大等单机部署带来的问题,生产环境常用多机部署。为解决多机房部署导致的数据不一致问题,我们常会选择用分布式锁。目前其他比较常见的实现方案我列举在下面:基于缓存实现分布式锁(本文主要使用redis实现)基于数据库实......