Pyparsing:带有至少一个非数字字符的单词

时间:2014-07-25 02:15:26

标签: python regex pyparsing

如何定义具有至少一个非数字字符的"字的模式" (在单词中的任何地方)使用pyparsing Word()和朋友?

正则表达式的解决方案是:

Regex("[a-z0-9]+[a-z][a-z0-9]+") 

我尝试了以下方面的事情:

Combine(Optional(Word(alphanums)) & Word(alphas))

必须有一个基于FollowedBy / NotAny / SkipTo的解决方案,但我还没想出来。

1 个答案:

答案 0 :(得分:3)

我实际上认为你想要的正则表达式是:

Regex("[0-9]*[a-z][a-z0-9]*")

因此,使用pyparsing类将它们放在一起将是:

Combine(Optional(Word(nums)) + Word(alphas,alphanums))

但是在解析时,正则表达式会更快。