2012-08-13 66 views
2

假設我有兩個字符串遵循某種模式,是否有任何方法可以找到這兩個字符串之間的正則表達式關係/模式。例如:查找兩個字符串之間的正則表達式關係

的String1:Something1Pattern1Something2
String2的:Something1Pattern2Something2

所以正則表達式將是Something1Pattern{1,2}Something2。或者說

的String1:firstFolder/first.txt
String2的:secondFolder/first.txt

正則表達式:[a-z]*Folder/first.txt

如果需要,我可以得到多組2串(可能需要驗證和防彈正則表達式)。

我在問什麼可能真的很荒謬,所以請幫我解決它。

編輯 感謝您的幫助。我也覺得這是不可能的,但只是想得到專家的建議。謝謝。

+0

聽起來像這個問題是[* NP-complete *](http://en.wikipedia.org/wiki/NP-complete)... – alfasin 2012-08-13 18:17:44

+0

其中是語言標記[c#| java ... ]!也不能理解你的問題 – Anirudha 2012-08-13 18:24:55

回答

1

不,這是不可能的。有無數的正則表達式可以描述這兩個字符串。例如,正則表達式.*匹配任何字符串。所以這對你的兩個例子都是一個「正確的」結果。

  • 的String1:firstFolder/first.txt
  • String2的:secondFolder/first.txt

然後,你必須爲正則表達式很多可能性:

  • 更詳細的第二個例子展望.*

  • .*/first\.txt
  • .*Folder/first\.txt
  • [a-z]*Folder/first\.txt
  • [a-z]+Folder/first\.txt
  • \w{5,6}Folder/first\.txt
  • [cdefinorst]+Folder/first\.txt
  • (first|second)Folder/first\.txt
  • [a-z]*s[a-z]+Folder/first\.txt
  • 等...

沒有辦法知道這些是「正確的」。

相關問題