使用REGEX进行字符串验证

时间:2012-04-24 09:22:56

标签: java regex

在谷歌搜索了我的解决方案,最后决定在这里发帖。

我的要求是只发送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
}

这种大小的实现我必须跨多种方法使用。

提前感谢。

2 个答案:

答案 0 :(得分:1)

这应该有效:

([ACR],){1,3}

答案 1 :(得分:0)

这个正则表达式允许一个模式重复1到3次(在这种情况下,模式是一个点,即任何字符):

.{1,3}

用任何正则表达式替换点。在您的情况下([ACR],)

换句话说:将+替换为{1,3}