1 maven
<dependency>
<groupId>ru.lanwen.verbalregex</groupId>
<artifactId>java-verbal-expressions</artifactId>
<version>1.4</version>
</dependency>
2 API
- VerbalExpression
方法 | 描述 |
---|---|
regex(VerbalExpression.Builder pBuilder) | 静态方法 |
testExact(String pToTest) | 精确匹配字符串 |
test(String pToTest) | 判断字符串中是否含有匹配到的字符串 |
getText(String toTest, int group) | 获取匹配到的文本,group用于指定获取匹配到的第几个()的内容,选填,默认为0,表示整个字符串 |
getTextGroups(String toTest, int group) | 获取匹配到的文本集合 |
toString() | 获取正则表达式 |
- VerbalExpression.Builder
方法 | 描述 | |
---|---|---|
add(String pValue) | 追加表达式,参数可为构造器Builder | 直接再表达式后追加pValue |
startOfLine(boolean pEnable) | 是否匹配输入字符串的开始位置,pEnable选填,默认为true | 表达式前缀: ^ |
endOfLine(boolean pEnable) | 是否匹配输入字符串的结尾位置,pEnable选填,默认为true | 表达式后缀: $ |
then(String pValue) find(String value) | 设置要匹配的字符串 | (?:value) |
maybe(String pValue) | 设置可能要匹配的字符串,参数可为构造器Builder | (?:pValue)? |
anything() | 匹配任意字符串 | (?:.*) |
anythingBut(String pValue) | 排除某些字符(零个或多个) | (?:[^pValue]*) |
something() | 匹配一个或多个字符 | (?:.+) |
somethingButNot(String pValue) | 排除某些字符(一个或多个) | (?:[^pValue]+) |
lineBreak() br() | 匹配换行符 | (?:\n|(?:\r\n)) |
tab() | 匹配tab符 | (?:\t) |
word() | 匹配一个或多个单词字符(字母、数字、下划线) | (?:\w+) |
wordChar() | 匹配一个单词字符(字母、数字、下划线) | (?:\w) |
nonWordChar() | 匹配非单词字符 | (?:\W) |
nonDigit() | 配置非数字 | (?:\D) |
digit() | 配置数字 | (?:\d) |
space() | 匹配任何空白字符,包括空格、制表符、换页符等等 | (?:\s) |
nonSpace() | 匹配非空白字符,包括空格、制表符、换页符等等 | (?:\S) |
anyOf(String pValue) any(String value) | 匹配任意字符 | [value] |
range(String… pArgs) | 指定范围,建议两个参数 | [a-z] |
addModifier(char pModifier) | 设置匹配参数类型 非表达式设置 | i: 忽略大小写 |
removeModifier(char pModifier) | 移除参数类型 | |
withAnyCase(boolean pEnable) | 启用忽略大小写,选填,默认true | |
searchOneLine(boolean pEnable) | 启用多行匹配,选填,默认true | |
multiple(String pValue, int… count) | 设置匹配字符串及数量 | (?:pValue){count1,count2} |
oneOrMore() | 匹配一个或多个 | + |
zeroOrMore() | 匹配零个或多个 | * |
count(int count) count(int from, int to) | 设置数量 | {count} {from,to} |
atLeast(int from) | 至少 | {from,} |
or(String pValue) | 或者 | (?:)|(?: (?:pValue)) |
oneOf(String… pValues) | 多值或者 | (?: (?:pValues1)|(?:pValues2)) |
capture() capt() | 之后的表达式加括号 | (之后的表达式) |
group() | 之后的表达式加组括号 | (?:之后的表达式) |
endCapture() endCapt() endGr() | 结束捕获,再capture,group之后使用 结束在括号添加表达式并追加 ) | ) |
build() | 构建VerbalExpression对象 |
3 示例
VerbalExpression build = VerbalExpression.regex()
.startOfLine()//匹配开头 ^
.then("a") //设置以a开头的字符串
.count(2,3)//设置以2-3个a字符开头的字符串
.then("c")//设置之后匹配一个c字符
.endOfLine()//匹配结尾 $
.build();
System.out.println(build);