Modifier and Type | Field and Description |
---|---|
static String |
RE_CHINESE
正则表达式匹配中文汉字
|
static String |
RE_CHINESES
正则表达式匹配中文字符串
|
static Set<Character> |
RE_KEYS
正则中需要被转义的关键字
|
Constructor and Description |
---|
ReUtil() |
Modifier and Type | Method and Description |
---|---|
static boolean |
contains(Pattern pattern,
CharSequence content)
指定内容中是否有表达式匹配的内容
|
static boolean |
contains(String regex,
CharSequence content)
指定内容中是否有表达式匹配的内容
|
static int |
count(Pattern pattern,
CharSequence content)
计算指定字符串中,匹配pattern的个数
|
static int |
count(String regex,
CharSequence content)
计算指定字符串中,匹配pattern的个数
|
static String |
delAll(Pattern pattern,
CharSequence content)
删除匹配的全部内容
|
static String |
delAll(String regex,
CharSequence content)
删除匹配的全部内容
|
static String |
delFirst(Pattern pattern,
CharSequence content)
删除匹配的第一个内容
|
static String |
delFirst(String regex,
CharSequence content)
删除匹配的第一个内容
|
static String |
delLast(Pattern pattern,
CharSequence str)
删除匹配的最后一个内容
|
static String |
delLast(String regex,
CharSequence str)
删除匹配的最后一个内容
|
static String |
delPre(Pattern pattern,
CharSequence content)
删除正则匹配到的内容之前的字符 如果没有找到,则返回原文
|
static String |
delPre(String regex,
CharSequence content)
删除正则匹配到的内容之前的字符 如果没有找到,则返回原文
|
static String |
escape(char c)
转义字符,将正则的关键字转义
|
static String |
escape(CharSequence content)
转义字符串,将正则的关键字转义
|
static String |
extractMulti(Pattern pattern,
CharSequence content,
String template)
从content中匹配出多个值并根据template生成新的字符串
例如: content 2013年5月 pattern (.*?) |
static String |
extractMulti(String regex,
CharSequence content,
String template)
从content中匹配出多个值并根据template生成新的字符串
匹配结束后会删除匹配内容之前的内容(包括匹配内容) 例如: content 2013年5月 pattern (.*?) |
static String |
extractMultiAndDelPre(Pattern pattern,
Mutable<CharSequence> contentHolder,
String template)
从content中匹配出多个值并根据template生成新的字符串
匹配结束后会删除匹配内容之前的内容(包括匹配内容) 例如: content 2013年5月 pattern (.*?) |
static String |
extractMultiAndDelPre(String regex,
Mutable<CharSequence> contentHolder,
String template)
从content中匹配出多个值并根据template生成新的字符串
例如: content 2013年5月 pattern (.*?) |
static void |
findAll(Pattern pattern,
CharSequence content,
Consumer<Matcher> consumer)
取得内容中匹配的所有结果,使用
Consumer 完成匹配结果处理 |
static List<String> |
findAll(Pattern pattern,
CharSequence content,
int group)
取得内容中匹配的所有结果
|
static <T extends Collection<String>> |
findAll(Pattern pattern,
CharSequence content,
int group,
T collection)
取得内容中匹配的所有结果
|
static List<String> |
findAll(String regex,
CharSequence content,
int group)
取得内容中匹配的所有结果
|
static <T extends Collection<String>> |
findAll(String regex,
CharSequence content,
int group,
T collection)
取得内容中匹配的所有结果
|
static List<String> |
findAllGroup0(Pattern pattern,
CharSequence content)
取得内容中匹配的所有结果,获得匹配的所有结果中正则对应分组0的内容
|
static List<String> |
findAllGroup0(String regex,
CharSequence content)
取得内容中匹配的所有结果,获得匹配的所有结果中正则对应分组0的内容
|
static List<String> |
findAllGroup1(Pattern pattern,
CharSequence content)
取得内容中匹配的所有结果,获得匹配的所有结果中正则对应分组1的内容
|
static List<String> |
findAllGroup1(String regex,
CharSequence content)
取得内容中匹配的所有结果,获得匹配的所有结果中正则对应分组1的内容
|
static void |
get(Pattern pattern,
CharSequence content,
Consumer<Matcher> consumer)
在给定字符串中查找给定规则的字符,如果找到则使用
Consumer 处理之如果内容中有多个匹配项,则只处理找到的第一个结果。 |
static String |
get(Pattern pattern,
CharSequence content,
int groupIndex)
获得匹配的字符串,对应分组0表示整个匹配内容,1表示第一个括号分组内容,依次类推
|
static String |
get(Pattern pattern,
CharSequence content,
String groupName)
获得匹配的字符串
|
static String |
get(String regex,
CharSequence content,
int groupIndex)
获得匹配的字符串
|
static String |
get(String regex,
CharSequence content,
String groupName)
获得匹配的字符串
|
static Map<String,String> |
getAllGroupNames(Pattern pattern,
CharSequence content)
根据给定正则查找字符串中的匹配项,返回所有匹配的分组名对应分组值
pattern: (? |
static List<String> |
getAllGroups(Pattern pattern,
CharSequence content)
获得匹配的字符串匹配到的所有分组
|
static List<String> |
getAllGroups(Pattern pattern,
CharSequence content,
boolean withGroup0)
获得匹配的字符串匹配到的所有分组
|
static List<String> |
getAllGroups(Pattern pattern,
CharSequence content,
boolean withGroup0,
boolean findAll)
获得匹配的字符串匹配到的所有分组
|
static Integer |
getFirstNumber(CharSequence StringWithNumber)
从字符串中获得第一个整数
|
static String |
getGroup0(Pattern pattern,
CharSequence content)
获得匹配的字符串,获得正则中分组0的内容
|
static String |
getGroup0(String regex,
CharSequence content)
获得匹配的字符串,获得正则中分组0的内容
|
static String |
getGroup1(Pattern pattern,
CharSequence content)
获得匹配的字符串,获得正则中分组1的内容
|
static String |
getGroup1(String regex,
CharSequence content)
获得匹配的字符串,获得正则中分组1的内容
|
static MatchResult |
indexOf(Pattern pattern,
CharSequence content)
找到指定模式匹配到字符串的开始位置
|
static MatchResult |
indexOf(String regex,
CharSequence content)
找到指定正则匹配到字符串的开始位置
|
static boolean |
isMatch(Pattern pattern,
CharSequence content)
给定内容是否匹配正则
|
static boolean |
isMatch(String regex,
CharSequence content)
给定内容是否匹配正则
|
static MatchResult |
lastIndexOf(Pattern pattern,
CharSequence content)
找到指定模式匹配到最后一个字符串的位置
|
static MatchResult |
lastIndexOf(String regex,
CharSequence content)
找到指定正则匹配到第一个字符串的位置
|
static String |
replaceAll(CharSequence str,
Pattern pattern,
Func1<Matcher,String> replaceFun)
替换所有正则匹配的文本,并使用自定义函数决定如何替换
replaceFun可以通过 Matcher 提取出匹配到的内容的不同部分,然后经过重新处理、组装变成新的内容放回原位。 |
static String |
replaceAll(CharSequence content,
Pattern pattern,
String replacementTemplate)
正则替换指定值
通过正则查找到字符串,然后把匹配到的字符串加入到replacementTemplate中,$1表示分组1的字符串 |
static String |
replaceAll(CharSequence str,
String regex,
Func1<Matcher,String> replaceFun)
替换所有正则匹配的文本,并使用自定义函数决定如何替换
replaceFun可以通过 Matcher 提取出匹配到的内容的不同部分,然后经过重新处理、组装变成新的内容放回原位。 |
static String |
replaceAll(CharSequence content,
String regex,
String replacementTemplate)
正则替换指定值
通过正则查找到字符串,然后把匹配到的字符串加入到replacementTemplate中,$1表示分组1的字符串 例如:原字符串是:中文1234,我想把1234换成(1234),则可以: ReUtil.replaceAll("中文1234", "(\\d+)", "($1)")) 结果:中文(1234) |
static String |
replaceFirst(Pattern pattern,
CharSequence content,
String replacement)
替换匹配的第一个内容
|
public static final String RE_CHINESE
public static final String RE_CHINESES
public static String getGroup0(String regex, CharSequence content)
regex
- 匹配的正则content
- 被匹配的内容public static String getGroup1(String regex, CharSequence content)
regex
- 匹配的正则content
- 被匹配的内容public static String get(String regex, CharSequence content, int groupIndex)
regex
- 匹配的正则content
- 被匹配的内容groupIndex
- 匹配正则的分组序号public static String get(String regex, CharSequence content, String groupName)
regex
- 匹配的正则content
- 被匹配的内容groupName
- 匹配正则的分组名称public static String getGroup0(Pattern pattern, CharSequence content)
pattern
- 编译后的正则模式content
- 被匹配的内容public static String getGroup1(Pattern pattern, CharSequence content)
pattern
- 编译后的正则模式content
- 被匹配的内容public static String get(Pattern pattern, CharSequence content, int groupIndex)
pattern
- 编译后的正则模式content
- 被匹配的内容groupIndex
- 匹配正则的分组序号,0表示整个匹配内容,1表示第一个括号分组内容,依次类推public static String get(Pattern pattern, CharSequence content, String groupName)
pattern
- 匹配的正则content
- 被匹配的内容groupName
- 匹配正则的分组名称public static void get(Pattern pattern, CharSequence content, Consumer<Matcher> consumer)
Consumer
处理之pattern
- 匹配的正则content
- 被匹配的内容consumer
- 匹配到的内容处理器public static List<String> getAllGroups(Pattern pattern, CharSequence content)
pattern
- 编译后的正则模式content
- 被匹配的内容public static List<String> getAllGroups(Pattern pattern, CharSequence content, boolean withGroup0)
pattern
- 编译后的正则模式content
- 被匹配的内容withGroup0
- 是否包括分组0,此分组表示全匹配的信息public static List<String> getAllGroups(Pattern pattern, CharSequence content, boolean withGroup0, boolean findAll)
pattern
- 编译后的正则模式content
- 被匹配的内容withGroup0
- 是否包括分组0,此分组表示全匹配的信息findAll
- 是否查找所有匹配到的内容,false
表示只读取第一个匹配到的内容public static Map<String,String> getAllGroupNames(Pattern pattern, CharSequence content)
pattern: (?<year>\\d+)-(?<month>\\d+)-(?<day>\\d+) content: 2021-10-11 result : year: 2021, month: 10, day: 11
pattern
- 匹配的正则content
- 被匹配的内容public static String extractMulti(Pattern pattern, CharSequence content, String template)
pattern
- 匹配正则content
- 被匹配的内容template
- 生成内容模板,变量 $1 表示group1的内容,以此类推public static String extractMulti(String regex, CharSequence content, String template)
regex
- 匹配正则字符串content
- 被匹配的内容template
- 生成内容模板,变量 $1 表示group1的内容,以此类推public static String extractMultiAndDelPre(Pattern pattern, Mutable<CharSequence> contentHolder, String template)
pattern
- 匹配正则contentHolder
- 被匹配的内容的Holder,value为内容正文,经过这个方法的原文将被去掉匹配之前的内容template
- 生成内容模板,变量 $1 表示group1的内容,以此类推public static String extractMultiAndDelPre(String regex, Mutable<CharSequence> contentHolder, String template)
regex
- 匹配正则字符串contentHolder
- 被匹配的内容的Holder,value为内容正文,经过这个方法的原文将被去掉匹配之前的内容template
- 生成内容模板,变量 $1 表示group1的内容,以此类推public static String delFirst(String regex, CharSequence content)
regex
- 正则content
- 被匹配的内容public static String delFirst(Pattern pattern, CharSequence content)
pattern
- 正则content
- 被匹配的内容public static String replaceFirst(Pattern pattern, CharSequence content, String replacement)
pattern
- 正则content
- 被匹配的内容replacement
- 替换的内容public static String delLast(String regex, CharSequence str)
regex
- 正则str
- 被匹配的内容public static String delLast(Pattern pattern, CharSequence str)
pattern
- 正则str
- 被匹配的内容public static String delAll(String regex, CharSequence content)
regex
- 正则content
- 被匹配的内容public static String delAll(Pattern pattern, CharSequence content)
pattern
- 正则content
- 被匹配的内容public static String delPre(String regex, CharSequence content)
regex
- 定位正则content
- 被查找的内容public static String delPre(Pattern pattern, CharSequence content)
pattern
- 定位正则模式content
- 被查找的内容public static List<String> findAllGroup0(String regex, CharSequence content)
regex
- 正则content
- 被查找的内容public static List<String> findAllGroup1(String regex, CharSequence content)
regex
- 正则content
- 被查找的内容public static List<String> findAll(String regex, CharSequence content, int group)
regex
- 正则content
- 被查找的内容group
- 正则的分组public static <T extends Collection<String>> T findAll(String regex, CharSequence content, int group, T collection)
T
- 集合类型regex
- 正则content
- 被查找的内容group
- 正则的分组collection
- 返回的集合类型public static List<String> findAllGroup0(Pattern pattern, CharSequence content)
pattern
- 编译后的正则模式content
- 被查找的内容public static List<String> findAllGroup1(Pattern pattern, CharSequence content)
pattern
- 编译后的正则模式content
- 被查找的内容public static List<String> findAll(Pattern pattern, CharSequence content, int group)
pattern
- 编译后的正则模式content
- 被查找的内容group
- 正则的分组public static <T extends Collection<String>> T findAll(Pattern pattern, CharSequence content, int group, T collection)
T
- 集合类型pattern
- 编译后的正则模式content
- 被查找的内容group
- 正则的分组collection
- 返回的集合类型public static void findAll(Pattern pattern, CharSequence content, Consumer<Matcher> consumer)
Consumer
完成匹配结果处理pattern
- 编译后的正则模式content
- 被查找的内容consumer
- 匹配结果处理函数public static int count(String regex, CharSequence content)
regex
- 正则表达式content
- 被查找的内容public static int count(Pattern pattern, CharSequence content)
pattern
- 编译后的正则模式content
- 被查找的内容public static boolean contains(String regex, CharSequence content)
regex
- 正则表达式content
- 被查找的内容public static boolean contains(Pattern pattern, CharSequence content)
pattern
- 编译后的正则模式content
- 被查找的内容public static MatchResult indexOf(String regex, CharSequence content)
regex
- 正则content
- 字符串null
表示未找到public static MatchResult indexOf(Pattern pattern, CharSequence content)
pattern
- 模式content
- 字符串null
表示未找到public static MatchResult lastIndexOf(String regex, CharSequence content)
regex
- 正则content
- 字符串null
表示未找到public static MatchResult lastIndexOf(Pattern pattern, CharSequence content)
pattern
- 模式content
- 字符串null
表示未找到public static Integer getFirstNumber(CharSequence StringWithNumber)
StringWithNumber
- 带数字的字符串public static boolean isMatch(String regex, CharSequence content)
regex
- 正则content
- 内容public static boolean isMatch(Pattern pattern, CharSequence content)
pattern
- 模式content
- 内容public static String replaceAll(CharSequence content, String regex, String replacementTemplate)
例如:原字符串是:中文1234,我想把1234换成(1234),则可以:
ReUtil.replaceAll("中文1234", "(\\d+)", "($1)")) 结果:中文(1234)
content
- 文本regex
- 正则replacementTemplate
- 替换的文本模板,可以使用$1类似的变量提取正则匹配出的内容public static String replaceAll(CharSequence content, Pattern pattern, String replacementTemplate)
content
- 文本pattern
- Pattern
replacementTemplate
- 替换的文本模板,可以使用$1类似的变量提取正则匹配出的内容public static String replaceAll(CharSequence str, String regex, Func1<Matcher,String> replaceFun)
Matcher
提取出匹配到的内容的不同部分,然后经过重新处理、组装变成新的内容放回原位。
replaceAll(this.content, "(\\d+)", parameters -> "-" + parameters.group(1) + "-") // 结果为:"ZZZaaabbbccc中文-1234-"
str
- 要替换的字符串regex
- 用于匹配的正则式replaceFun
- 决定如何替换的函数public static String replaceAll(CharSequence str, Pattern pattern, Func1<Matcher,String> replaceFun)
Matcher
提取出匹配到的内容的不同部分,然后经过重新处理、组装变成新的内容放回原位。
replaceAll(this.content, "(\\d+)", parameters -> "-" + parameters.group(1) + "-") // 结果为:"ZZZaaabbbccc中文-1234-"
str
- 要替换的字符串pattern
- 用于匹配的正则式replaceFun
- 决定如何替换的函数,可能被多次调用(当有多个匹配时)public static String escape(char c)
c
- 字符public static String escape(CharSequence content)
content
- 文本Copyright © 2024. All rights reserved.