2012-08-14 69 views
1

有沒有人(碰到/正在處理)提供關於使用提供的語法的不匹配正則表達式的提示?即試想一下,正則表達式的一部分被匹配了一些標記,但後者失敗:爲不匹配的正則表達式提供提示

(?P<name>[a-zA-Z])-(?P<number>\d+)_blah 

說,我們設法找到了名字,但有一個字母「_」(如「富-123Z_blah」)或之前「 _blah「不匹配(例如」foo-123_Zblah「)。

這將是真正偉大的,如果用戶可以得到一個暗示了什麼問題在很長的正則表達式,也許引進一些修正等

我記得讀起,ANTLR是相當擅長逆轉,以它的解析過程根據提供的語法定義爲不正確的語言語句提供提示。在Python中做什麼樣的事情有什麼好處?

謝謝!

回答

1

您應該檢出http://www.regexbuddy.com/以調試正則表達式。它就像一個正則表達式IDE,它有一個完整或普通的正則表達式庫,對正則表達式組合以及測試/調試工具的實時幫助。

不幸的是,它不是免費的,但它很值得他們收取少量費用。調試工具非常好,我相信它會幫助你。它顯示哪些組件匹配一個字符串,當發生回溯時,哪些符號等。

這是一款優秀的軟件,強烈推薦!

+0

感謝infl3x,我以前見過這個,但我的意思是實際上沒有這個工具,而是一個庫,它可以給我一些信息,以便它可以顯示給用戶,以便給他一個提示他輸入的部分數據可能不正確。 也就是說我有一組正則表達式,我試圖匹配用戶的輸入以找出他剛輸入的數據類型。所以我已經有了一套通過regexps定義的規則,並且想要告訴用戶他做錯了什麼,以至於他的輸入不匹配。 – user1552175 2012-08-17 10:50:04