如何在使用pyparsing时处理字符串中出现的反斜杠和颚化符

2024-04-24 00:16:46 发布

您现在位置:Python中文网/ 问答频道 /正文

在代码中使用pyparsing时,我需要处理反斜杠和颚化符,为了保持简单,我使用了printables,但这段代码引发了一个异常:

    import string
    import pyparsing as pp
    from pyparsing import *

    log_display = ("[pts\0]")
    log_display1 = ("[~~  ]")

    ut_user = "[" + Word(printables) + "]"

    log = ut_user

    data = log.parseString(log_display)
    print(data.dump())

谢谢你的帮助!你知道吗


Tags: 代码fromimportlogdatastringasdisplay
1条回答
网友
1楼 · 发布于 2024-04-24 00:16:46

"[pts\0]"中没有反斜杠。它有一个空字符。如果您想要一个带反斜杠的字符串,r"[pts\0]"会产生一个。读取输入时,这通常不是问题。字符串文字转义处理仅应用于字符串文字,而不应用于用户输入。你知道吗

"[~~ ]"的问题与颚化符无关。瓷砖很好。问题是空间,按照pyparsing.printables的标准,它不算是可打印的。pyparsing.printables是包含所有ASCII、可打印、非空白字符的字符串。正确的处理方法取决于您实际希望允许哪些字符。你知道吗

相关问题 更多 >