gpt4 book ai didi

Python 正则表达式模式不匹配

转载 作者:行者123 更新时间:2023-11-28 20:27:45 24 4
gpt4 key购买 nike

我试图让一些正则表达式来解析存储在一组 lua 文件中的一些值,每一行看起来都像这两行之一

  1. ITEM.ID = 'item_clock';\r\n
  2. ITEM.Cost = 150;\r\n

当我在第一行运行我的正则表达式模式时,我得到了预期的结果

>>> re.search("ITEM.(?P<key>[a-zA-Z]\w) = (?P<value>.*);", line).groupdict()
{'key': 'ID', 'value': "'item_clock'"}

但是当我在第二行运行它时,我没有得到 Match 对象。

最佳答案

正则表达式查找 ITEM.后跟一个字母,然后是恰好一个 单词字符(正则表达式中的 \w)。

您的意思可能类似于 ITEM.(?P<key>[a-zA-Z]\w*) ...(注意添加的星号)。这将寻找 ITEM.后跟一个字母,然后是零个或多个 单词字符。

此外,使用 raw strings 是个好主意用于正则表达式以避免难以发现的错误:

r"ITEM.(?P<key>[a-zA-Z]\w*) = (?P<value>.*);"

(注意 r 前缀)。

关于Python 正则表达式模式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7754221/

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