你如何在pyparsing中使用下面的正則表達式?它應該返回給定正則表達式的令牌列表。python中的python正則表達式
任何幫助將不勝感激!謝謝!
蟒蛇正則表達式的例子在shell:
>>> re.split("(\w+)(lab)(\d+)", "abclab1", 3)
>>> ['', 'abc', 'lab', '1', '']
我想這在pyparsing,但我似乎無法弄清楚如何得到它的權利,因爲第一場比賽是貪婪,即第一個令牌將是'abclab'
而不是兩個令牌'abc'
和'lab'
。
pyparsing例如(高層次,即非工作代碼):
name = 'abclab1'
location = Word(alphas).setResultsName('location')
lab = CaselessLiteral('lab').setResultsName('environment')
identifier = Word(nums).setResultsName('identifier')
expr = location + lab + identifier
match, start, end = expr.scanString(name).next()
print match.asDict()
感謝您的答案,但我想要做的是使用pyparsing來做幾乎做正則表達式。所以使用pyparsing,它應該返回一個字典,如... {location:abc,enviornment:lab,identifier:1} – user1468650