gpt4 book ai didi

python - 在 pyparsing 期间更改字符串

转载 作者:太空狗 更新时间:2023-10-30 02:45:21 24 4
gpt4 key购买 nike

在我的 pyparsing 代码中,我有以下表达式:

exp1 = Literal("foo") + Suppress(Literal("="))  + Word(alphanums+'_-')
exp2 = Literal("foo") + Suppress(Literal("!=")) + Word(alphanums+'_-')
exp = Optional(exp1) & Optional(exp2)

我想把 exp2 中的 foo 改成 bar,这样我就可以区分解析数据中的 = 和 != 了。这可能吗?

最佳答案

Karl Knechtel 的评论是有效的,但如果您想更改匹配的标记,您可以在解析操作中执行此操作。

def changeText(s,l,t):
return "boo" + t[0]

expr = Literal("A").setParseAction(changeText) + "B"
print expr.parseString("A B").asList()

将打印:

['booA', 'B']

如果你只想用常量文字字符串替换表达式,请使用 replaceWith:

expr = Literal("A").setParseAction(replaceWith("Z")) + "B"
print expr.parseString("A B").asList()

打印:

['Z', 'B']

关于python - 在 pyparsing 期间更改字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24954340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com