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
要麼根據一組測試用例驗證它,要麼自己分析正則表達式來驗證它 - 分配很簡單,所以這種驗證應該很簡單。檢查排列組合對於正則表達式來說並不適合。 –