`## (聊天室1)接收客户端1的连接请求。
(CR 1) RR 1。
(聊天室1)接受客户1。
(CR 1) AC 1.
(聊天室0)收到客户端2的连接请求。
(Cr0)RC2.
(聊天室0)拒绝客户2

上面的图片清楚地描述了我的问题。我试图匹配RR,AC和RC。我不想要广泛的匹配,但是下面的RR、AC或RC的具体匹配是我尝试的正则表达式,但它是一个广泛的匹配,很长时间内找到了这些字母之一。
(##[^\n]*\n)|(\(CR (\d+))\) [AC\RR\RC\] [0-9]+.另外,我试着用引号把每一封信括起来,如下所示;
(##[^\n]*\n)|(\(CR (\d+))\) ["AC"\"RR"\"RC"\] [0-9]+.这仍然是一场广泛的比赛。
发布于 2020-07-13 17:59:24
您可以匹配前面的##和行的其余部分,并使用单个捕获组来匹配3种备选方案中的一种:
^##.*\n\(CR \d+\) (R[RC]|AC) \d+\.解释
^开始##.*\n匹配##,行的其余部分和换行符\(CR \d+\)匹配(CR和空格、1+数字和)( Capture group 1 R[RC]|AC匹配RR或RC或AC)闭组1\d+.匹配空格、1+数字和点。发布于 2020-07-13 21:46:29
\)\s(.{2})\s由于模式相似,采取了)空间和分组范围为2,并以空间结束。
https://stackoverflow.com/questions/62880219
复制相似问题