【发布时间】:2015-06-10 07:42:11
【问题描述】:
我有这个正则表达式:
([abc])(?!\1)([abc])(?!\2|\1)([abc])
在给定字符串中查找“abc”(abc、acb、bac、bca、cab 和 cba)的任何排列,例如:
aabbccabcabbccaassbbsdddbbsbdbabc
那个正则表达式运行良好,但现在我需要另一个正则表达式来做同样的事情,但所有排列都没有重复“abbc”(12 种组合)
我需要在一个字符串中找到 4 个字符,其中一个“a”、两个“b”和一个“c”。不管顺序,但必须是连续的。 (abbc, babc, bbca...)
我的问题与建议的不同,因为它有一个字符必须重复 2 次p>
1. Find [abc]
2. Find "a" or "c" if it is not in 1.
Find "b"
3. Find "a" or "c" if it doesn't appear in 1. or 2.
Find "b" if it is not alreday 2 times
4. Find "a" or "c" if it doesn't appear in 1. or 2 or 3.
Find "b" if it is not alreday 2 times
【问题讨论】:
-
你使用什么语言?
-
语言 c#,不重复,这里我需要“1223”或“abbc”,其中一个字符必须是 2 次,其他字符只有 1 次
-
这个正则表达式是否有用,您应该在此处将其标记为答案:stackoverflow.com/questions/30738714/…
-
@nhahtdh - 你确定这是重复的吗?其他两个问题都不要求重复字符,这更复杂。此外,不同的语言有不同的解决方案。
-
@Kobi:stackoverflow.com/questions/10727118/… 上公认的解决方案可以处理这种情况。它是用伪代码编写的。