gpt4 book ai didi

python - 如何将变量设置为Python中正则表达式找到的字符串

转载 作者:行者123 更新时间:2023-11-30 23:33:39 26 4
gpt4 key购买 nike

我正在编写一个 Python 脚本,该脚本逐行读取文件并搜索语法 var_name = value 的任何行。如果找到,它将变量 namevalue 设置为该行中的值。这是我到目前为止所拥有的:

import re

for i in file:
name = ""
value = ""
if re.match('^[A-Za-z0-9]*[\\s]?\=[\\s]?.*$', x):
#operations to set variables needed here...
#then use new variables

问题是我在 Linux 环境中学习了正则表达式,而 Python 似乎有一堆与之相关的不同规则和函数。我对 Python 还很陌生,所以试图弄清楚这一点相当令人困惑。我一直在四处搜索,发现检查正则表达式匹配的合理数量,但是一旦找到匹配项,就无法提取匹配的值。我尝试过这样的事情:

name = re.search(' (?=[\\s]?\=.*)', x)
value = re.search(' (?<=[A-Za-z0-9]*[\\s]?\=[\\s]?) ', x)

...根据我的发现 here ,但是不行,不知道哪部分操作不正确。如果有人有任何想法可以分享,我们将不胜感激。谢谢!

最佳答案

re.search()re.match()函数返回 MatchObjectNone - 您应该首先检查它是否返回 smth,然后使用 group()groups()groupdict() 或任何适合获取实际提取或找到的内容的方法:

match = re.search(pattern, string)
if match:
variable = match.group(<number>)

关于python - 如何将变量设置为Python中正则表达式找到的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638324/

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