public final class RegexUtil extends Object
Pattern
,
Matcher
,
String.matches(String)
Modifier and Type | Method and Description |
---|---|
static Pattern |
buildPattern(String regexPattern,
int flags)
如果cache中有,那么直接返回, 如果没有构造一个并塞到cache中.
|
static Map<Integer,String> |
group(String regexPattern,
CharSequence input)
返回在以前匹配操作期间由给定组捕获的输入子序列.
|
static String |
group(String regexPattern,
CharSequence input,
int groupNo)
返回在以前匹配操作期间由给定组捕获的输入子序列.
|
static boolean |
matches(String regexPattern,
CharSequence input)
编译给定正则表达式
regexPattern ,并尝试将给定输入 input 与其匹配. |
public static boolean matches(String regexPattern, CharSequence input)
regexPattern
,并尝试将给定输入 input
与其匹配.
Pattern.matches(String, CharSequence)
等价于getMatcher(String, CharSequence)
.matches();
regexPattern
- 正则表达式字符串,pls use "RegexPattern"input
- The character sequence to be matched,support String
,StringBuffer
,StringBuilder
... and so onregexPattern
是null,抛出 NullPointerException
input
是null,返回 falsegetMatcher(String, CharSequence)
,
Matcher.matches()
,
Pattern.matches(String, CharSequence)
public static Map<Integer,String> group(String regexPattern, CharSequence input)
对于匹配器 m、输入序列 s 和组索引 g,表达式 m.group(g) 和 s.substring(m.start(g), m.end(g))是等效的.
捕获组是从 1开始从左到右的索引.组0表示整个模式,因此表达式 m.group(0)等效于 m.group().
String regexPattern = "(.*?)@(.*?)"; String email = "feilong@163.com"; RegexUtil.group(regexPattern, email);返回:0 feilong@163.com 1 feilong 2 163.com
regexPattern
- 正则表达式模式,比如 (.*?)@(.*?)input
- 需要被group的字符串,比如 feilong@163.com,support String
,StringBuffer
,StringBuilder
... and so onregexPattern
是null,抛出 NullPointerException
input
是null,抛出 NullPointerException
Collections.emptyMap()
getMatcher(String, CharSequence)
,
Matcher.group(int)
public static String group(String regexPattern, CharSequence input, int groupNo)
对于匹配器 m、输入序列 s 和组索引 g,表达式 m.group(g) 和 s.substring(m.start(g), m.end(g))是等效的.
捕获组是从 1开始从左到右的索引.组0表示整个模式,因此表达式 m.group(0)等效于 m.group().
String regexPattern = "(.*?)@(.*?)"; String email = "feilong@163.com"; RegexUtil.group(regexPattern, email, 1);//feilong RegexUtil.group(regexPattern, email, 2);//163.com
regexPattern
- 正则表达式模式,比如 (.*?)@(.*?)input
- 需要被group的字符串,比如 feilong@163.com,support String
,StringBuffer
,StringBuilder
... and so ongroupNo
- 组号,从0开始regexPattern
是null,抛出 NullPointerException
input
是null,抛出 NullPointerException
input < 0
,抛出 IllegalArgumentException
getMatcher(String, CharSequence)
,
Matcher.group(int)
Copyright © 2008-2019 by feilong