有誰知道如何找到某個正則表達式模式的所有可能的匹配數?我的意思是這樣的:Ruby模式匹配 - 查找所有可能的匹配數
Calculator_1 _([0-1])回報2個可能的結果,因爲它可以匹配兩個不同的輸入:
-Calculator_1_0
-Calculator_1_1
Calculator_1 _([0-2 ])返回3個可能的結果,因爲它可以匹配三個不同的輸入:
-Calculator_1_0
-Calculator_1_1
-Calculator_1_2
Calculator_1 _返回無限,因爲它可以匹配無限輸入(*):
-Calculator_1_0
-Calculator_1_1
-Calculator_1_2
-Calculator_1_3
-Calculator_1_a
...
編輯:順便說一句,這只是一個例子。
在一般情況下,結果將是無限的,所以我不認爲有一些可以應用的開箱即用功能。你想用這個做什麼?你能提供一些背景嗎? – davidrac 2012-08-07 19:06:23
這是一個非常複雜的程序,但基本上我需要計算機能夠從一系列用戶生成的正則表達式模式中選擇最佳模式。爲了做到這一點,我需要知道哪些模式具有最少量的可能匹配以及哪些模式最精確。在上面的示例中,第一個和第二個模式都將匹配「Calculator_1_0」,但第一個模式更精確,因爲它具有最少的匹配。把它看作一個正則表達式工具。 – Walker 2012-08-07 19:16:00
我認爲即使是非常瑣碎的例子的可能組合是如此複雜,你不能用一個簡單的算法來預測...... – phoet 2012-08-07 19:41:29