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);
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐