小编use*_*650的帖子

pyparsing中的python正则表达式

你如何使下面的正则表达式用于pyparsing?它应该返回给定正则表达式的标记列表.

任何帮助将不胜感激!谢谢!

shell中的python正则表达式示例:

>>> re.split("(\w+)(lab)(\d+)", "abclab1", 3)
>>> ['', 'abc', 'lab', '1', '']
Run Code Online (Sandbox Code Playgroud)

我在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()
Run Code Online (Sandbox Code Playgroud)

python regex pyparsing

2
推荐指数
1
解决办法
1656
查看次数

标签 统计

pyparsing ×1

python ×1

regex ×1