我想創建一個Python函數,可以採取簡單的英文描述的正則表達式並返回正則表達式給調用者。是否需要更正式表達正則表達式的聲明方式? :)
當前我正在考慮YAML格式的描述。 因此,我們可以將描述存儲爲一個原始字符串變量,將其傳遞給另一個函數,然後將該函數的輸出傳遞給're'模塊。下面是一個比較簡單的例子:
# a(b|c)d+e*
re1 = """
- literal: 'a'
- one_of: 'b,c'
- one_or_more_of: 'd'
- zero_or_more_of: 'e'
"""
myre = re.compile(getRegex(re1))
myre.search(...)
等
有誰想到這種事情會更廣泛地使用? 你知道現有的軟件包可以做到嗎? 您看到這種方法的侷限性是什麼? 有人認爲,在代碼中使用聲明性字符串會使其更易於維護嗎?
JSON或XML可能? DTD或XSD也可以很好地描述數據結構。 – codymanix 2010-08-09 11:26:23
所以,不是一個複雜的正則表達式需要一整行,而是需要一整個頁面:) – 2010-08-09 11:47:55
知道正則表達式的人對它感到滿意,但對其他人來說,它看起來像字母表扔了。這可能是一個問題,但我不確定。畢竟,對於那些編程的人而言,你可以對編程語言說同樣的話。 它可能是很好的與對象和函數instad字符串,但我不知道什麼是最好的方式來實現的。 +1的創新都一樣。 – psicopoo 2010-08-09 11:49:52