正则表达式构造器(java-verbal-expressions)
1 maven<dependency><groupId>ru.lanwen.verbalregex</groupId><artifactId>java-verbal-expressions</artifactId><version>1.4</version></dependency>2 API
·
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);
更多推荐



所有评论(0)