在谷歌搜索了我的解决方案,最后决定在这里发帖。
我的要求是只发送A 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 char。
到目前为止,我能够执行类似([ACR],)+的模式验证,但也希望在相同的正则表达式中执行大小验证。
所以现在,我正在使用像
这样的条件if(!status.matches("([ACR],)+") || status.length()>6){
SOP
}
这种大小的实现我必须跨多种方法使用。
提前感谢。
答案 0 :(得分:1)
这应该有效:
([ACR],){1,3}
答案 1 :(得分:0)
这个正则表达式允许一个模式重复1到3次(在这种情况下,模式是一个点,即任何字符):
.{1,3}
用任何正则表达式替换点。在您的情况下([ACR],)
换句话说:将+
替换为{1,3}