首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >几个不同群的正则部分匹配

几个不同群的正则部分匹配
EN

Stack Overflow用户
提问于 2013-10-22 09:22:17
回答 2查看 397关注 0票数 1

我需要regexp来匹配来自几个组的字符串构建(A是任意字母,9是任何数字):

群1 regex A-Z{1,2}0-9

代码语言:javascript
复制
A
A9
AA9

第2群regex A-Z{1,3}0-9

代码语言:javascript
复制
A
AA
AAA
AAA9

群3正则化A-Z{2,3}0-9A-Z

代码语言:javascript
复制
AAA
AA9
AA9A

群4 regex 0-9{1,2}A-Z{1,2}0-9

代码语言:javascript
复制
9A
9AA
9A9
99A9

不是每一组都必须在场,但必须有正确的顺序--我的意思是(数字是组号):

代码语言:javascript
复制
1
12
123
1234

所以如果有第3组的话,我前面所有的小组都必须出席。

因为有四个组(可以更多),所以可以选择如下

代码语言:javascript
复制
^[A-Z]{1,2}[0-9]{1}|[A-Z]{1,2}[0-9]{1}\s{1}[A-Z]{1}[0-9]?$

这不是最好的选择,因为这将是复杂和难以维护的。有什么解决办法吗?团体的秩序是重要的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-22 09:53:29

不如:

代码语言:javascript
复制
^[A-Z]{1,2}[0-9]?(?:\s+[A-Z]{1,3}[0-9]?(?:\s+[A-Z]{2,3}[0-9]?[A-Z]?(?:\s+[0-9]{1,2}[A-Z]{1,2}[0-9]?)?)?)?$
票数 0
EN

Stack Overflow用户

发布于 2013-10-22 09:26:20

此正则表达式将匹配您提供的所有字符串:

代码语言:javascript
复制
^[A-Z]+[0-9]*(\s+[A-Z]+[0-9]*)+$

和无限的话语。

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

https://stackoverflow.com/questions/19513845

复制
相关文章

相似问题

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