如何定义具有至少一个非数字字符的"字的模式" (在单词中的任何地方)使用pyparsing Word()和朋友?
正则表达式的解决方案是:
Regex("[a-z0-9]+[a-z][a-z0-9]+")
我尝试了以下方面的事情:
Combine(Optional(Word(alphanums)) & Word(alphas))
必须有一个基于FollowedBy / NotAny / SkipTo的解决方案,但我还没想出来。
答案 0 :(得分:3)
我实际上认为你想要的正则表达式是:
Regex("[0-9]*[a-z][a-z0-9]*")
因此,使用pyparsing类将它们放在一起将是:
Combine(Optional(Word(nums)) + Word(alphas,alphanums))
但是在解析时,正则表达式会更快。