我正在尝试使用一些正则表达式来解析存储在一组lua文件中的一些值,每一行看起来像这两行中的一行
ITEM.ID = 'item_clock';\r\n ITEM.Cost = 150;\r\n.当我在第一行运行我的正则表达式模式时,我得到了预期的结果
>>> re.search("ITEM.(?P<key>[a-zA-Z]\w) = (?P<value>.*);", line).groupdict()
{'key': 'ID', 'value': "'item_clock'"}
Run Code Online (Sandbox Code Playgroud)
但是当我在第二行运行它时,我没有得到Match对象.
正则表达式ITEM.后面跟着一个字母,然后是一个单词字符(\w在正则表达式中).
你可能意味着ITEM.(?P<key>[a-zA-Z]\w*)... ...(注意添加的星号).这将查找ITEM.后跟一个字母,然后是零个或多个单词字符.
此外,最好将正则字符串用于正则表达式,以避免难以发现的错误:
r"ITEM.(?P<key>[a-zA-Z]\w*) = (?P<value>.*);"
Run Code Online (Sandbox Code Playgroud)
(注意r前缀).
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |