Java 使用正则表达式进行字符串验证
我在谷歌上搜索了我的解决方案,最后决定在这里发布一个问题 我的要求是只发送一个C和R字符作为输入,传递的字符串的最大长度不应超过6个字符 以下是有效状态: A、 C,R A、 R,C R、 A,C, R、 C,A, C、 R,A, C、 A,R, R、 C C、 R A、 R R、 C A, 等等。A、C、R的所有可能组合都是可能的,但最大长度不应增加6个字符 到目前为止,我能够执行类似([ACR],)+的模式验证,但也希望在相同的正则表达式中执行大小验证 所以现在,我使用的条件是Java 使用正则表达式进行字符串验证,java,regex,Java,Regex,我在谷歌上搜索了我的解决方案,最后决定在这里发布一个问题 我的要求是只发送一个C和R字符作为输入,传递的字符串的最大长度不应超过6个字符 以下是有效状态: A、 C,R A、 R,C R、 A,C, R、 C,A, C、 R,A, C、 A,R, R、 C C、 R A、 R R、 C A, 等等。A、C、R的所有可能组合都是可能的,但最大长度不应增加6个字符 到目前为止,我能够执行类似([ACR],)+的模式验证,但也希望在相同的正则表达式中执行大小验证 所以现在,我使用的条件是 if(!s
if(!status.matches("([ACR],)+") || status.length()>6){
SOP
}
这个大小的实现我必须跨多个方法使用
提前感谢。这应该可以:
([ACR],){1,3}
此正则表达式将允许模式重复1到3次(在这种情况下,模式为点,即任何字符): 用任何正则表达式替换点。在您的情况下,
([ACR],)
换句话说:用
{1,3}
替换+
,这在谷歌很容易找到。您需要改进搜索技术。逗号是否被视为字符?字符串是否应以逗号结尾?将+替换为{1,6}最多允许12个字符,而不是6个字符,因为组包含2个字符。对于我的情况,在执行器点击并运行后,这是我发现的一个组合,解决了我的问题^([ACR],){1,3}$@GuillaumePolet是的,它给出了允许重复模式的次数。编辑答案。
.{1,3}