首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >匹配{1,2,3,4}的所有排列而不重复的正则表达式

匹配{1,2,3,4}的所有排列而不重复的正则表达式
EN

Stack Overflow用户
提问于 2010-06-23 20:01:58
回答 4查看 9.8K关注 0票数 12

我正在用ruby实现以下问题。

下面是我想要的模式:

1234、1324、1432、1423、2341等等

也就是说,四位数中的数字应该在1-4之间,并且也应该是非重复的。

为了让你以一种简单的方式理解,我采用了一个两位数的模式,解决方案应该是: 12,21

即,数字应该是1或2,并且应该是非重复的。

为了确保它们是非重复的,我想使用$1作为我的第二个数字的条件,但它不起作用。

请帮帮我,提前谢谢你。

EN

Stack Overflow用户

发布于 2018-11-22 19:15:35

虽然前面的答案解决了问题,但它们并不像它们可能的那样通用,并且不允许在初始字符串中出现重复。例如,{a,a,b,b,c,c}。在Perl Monks上询问similar question之后,Eily提供了the following solution

代码语言:javascript
复制
^(?:(?!\1)a()|(?!\2)a()|(?!\3)b()|(?!\4)b()|(?!\5)c()|(?!\6)c()){6}$

同样,这也适用于字符串中较长的“符号”,也适用于可变长度的符号。

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

https://stackoverflow.com/questions/3101366

复制
相关文章

相似问题

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