首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个字符串字符与正则表达式匹配

将多个字符串字符与正则表达式匹配
EN

Stack Overflow用户
提问于 2020-07-13 16:31:21
回答 2查看 77关注 0票数 0

`## (聊天室1)接收客户端1的连接请求。

(CR 1) RR 1。

(聊天室1)接受客户1。

(CR 1) AC 1.

(聊天室0)收到客户端2的连接请求。

(Cr0)RC2.

(聊天室0)拒绝客户2

上面的图片清楚地描述了我的问题。我试图匹配RR,AC和RC。我不想要广泛的匹配,但是下面的RR、AC或RC的具体匹配是我尝试的正则表达式,但它是一个广泛的匹配,很长时间内找到了这些字母之一。

代码语言:javascript
复制
(##[^\n]*\n)|(\(CR (\d+))\) [AC\RR\RC\] [0-9]+.

另外,我试着用引号把每一封信括起来,如下所示;

代码语言:javascript
复制
(##[^\n]*\n)|(\(CR (\d+))\) ["AC"\"RR"\"RC"\] [0-9]+.

这仍然是一场广泛的比赛。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-13 17:59:24

您可以匹配前面的##和行的其余部分,并使用单个捕获组来匹配3种备选方案中的一种:

代码语言:javascript
复制
^##.*\n\(CR \d+\) (R[RC]|AC) \d+\.

解释

  • 字符串的^开始
  • ##.*\n匹配##,行的其余部分和换行符
  • \(CR \d+\)匹配(CR和空格、1+数字和)
  • ( Capture group 1
    • R[RC]|AC匹配RRRCAC

  • )闭组1
  • \d+.匹配空格、1+数字和点。

Regex演示

票数 1
EN

Stack Overflow用户

发布于 2020-07-13 21:46:29

代码语言:javascript
复制
\)\s(.{2})\s

由于模式相似,采取了)空间和分组范围为2,并以空间结束。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62880219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档