我试图让一些正则表达式来解析存储在一组lua文件中的一些值,每一行看起来都像这两行中的一行
ITEM.ID = 'item_clock';\r\n
ITEM.Cost = 150;\r\n
。你知道吗当我在第一行运行regex模式时,我得到了一个预期的结果
>>> re.search("ITEM.(?P<key>[a-zA-Z]\w) = (?P<value>.*);", line).groupdict()
{'key': 'ID', 'value': "'item_clock'"}
但是当我在第二行运行它时,我没有得到匹配的对象。你知道吗
正则表达式查找
ITEM.
后跟一个字母,然后再后跟一个单词字符(正则表达式中的\w
)。你知道吗你的意思可能是
ITEM.(?P<key>[a-zA-Z]\w*)
。。。(注意添加的星号)。这将查找ITEM.
后跟一个字母,然后后跟零个或更多的单词字符。你知道吗另外,最好对正则表达式使用raw strings,以避免难以发现的错误:
(注意
r
前缀)。你知道吗公认的答案是对的。小调整。。。你知道吗
通常在“=”周围留出多个空格(或没有空格)是个好主意
r“项目\.(?P<;键>;[a-zA-Z]\w*)*=*(?P<;值>;*?)*;“
相关问题 更多 >
编程相关推荐