首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何迭代“1或多”项的正则表达式?

如何迭代“1或多”项的正则表达式?
EN

Stack Overflow用户
提问于 2019-05-01 07:40:44
回答 1查看 30关注 0票数 0

我正在尝试开发一个正则表达式,以便将寻呼机消息读入类别。最后是回应旅的代码(CBORT,CYAND)。

这些旅码代表每个响应旅。问题是,要么有一个例子。(CBORT)或许多(如)(CBAGR、CBORT、CYAND)。我不知道如何使每个旅作为一个单独的比赛。

每个旅码将以字母C作为前缀。

这是否可以使用正则表达式来完成,或者我是否需要一个PHP脚本来迭代消息的最后一部分,以便将每个旅代码匹配到一个数组中?

寻呼机消息:@警告BORT1 G&SC1草火迅速蔓延79 BOORT-YANDO路BOORT SVNW 214 J15 (475017) AFPR、CBORT CYAND和F190400036

当前Regex:(@@)(ALERT)\s(\w+)\s(\S+)(C1|C3)\s(.+)\s(\d+|\d+KM|\d+ M_REAR_

粗体部分是我希望迭代1次或多次的部分。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-01 07:52:21

您可以使用((C\w+)\s)+至少有一个匹配的组,但也可以捕获以下组。

您还需要用\(\) (保留字符)转义消息的括号。

全面调整:

代码语言:javascript
复制
(@@)(ALERT)\s(\w+)\s(\S+)(C1|C3)\s(.+)\s(\d+|\d+KM|\d+ M|CNR|NEAR|NEXT TO|ADJACENT|BEHIND|ACROSS FROM|ACROSS|REAR OF|REAR|OUTSIDE)\s(.+)\s(SVNW)\s(\d+)\s(\w\d+)\s(\(\d+\))\s(F|AF|FP|AFP|AFPR|AFPRS)\s((C\w+)\s)+(F\d+)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55933030

复制
相关文章

相似问题

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