0
我想检查我的学生获得的正则表达式这个问题正确的混合物:RexEx匹配一个正则表达式与排列和选择
我们希望有一个从1数到6后记信从a到d可以写成小或大。所以像1D,2A,4B,...
我想从我的学生都应该像这两个[1-6][a-dA-D]
或[123456][abcdABCD]
或混合物,和第二者的所有排列的正则表达式。
在我的研究,我发现了排列this answer:
^(?:([1-4])(?!.*\1)){4}$
,它的工作原理是它自己(以及没有^$
),但是当我有一个选择,运营商结合起来(|
),它允许以及像[111111][a-dA-D]
这样的重复,这不是我想要的。
这是我尝试直到尚未:
[\[]((?:([1-6])(?!.*\1)){6}|[1]\-[6])[\]][\[]((?:([a-dA-D])(?!.*\1)){8}|([a][\-][d][A][\-][D]|[A][\-][D][a][\-][d]))[\]]
TESTDATA:
[1-6][A-Da-d]
[123456][a-dA-D]
[654321][AaBbCcDd]
[241365][abcdABCD]
你能使你的问题更具有表现力,加上要针对其运行正则表达式的一些样品示例和测试数据? –
这似乎是验证答案的不好方法。仅仅通过一组测试用例来验证答案就会更容易和更清晰。 – beerbajay
要么根据一组测试用例验证它,要么自己分析正则表达式来验证它 - 分配很简单,所以这种验证应该很简单。检查排列组合对于正则表达式来说并不适合。 –