正则表达式构造器(java-verbal-expressions)

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑重其事,鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值