Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用正则表达式进行字符串验证_Java_Regex - Fatal编程技术网

Java 使用正则表达式进行字符串验证

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

我在谷歌上搜索了我的解决方案,最后决定在这里发布一个问题

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