在python中使用正则表达式获取引号中的特定数据
我正在尝试使用正则表达式从配置XML文件(fread)获取插件版本。 使用下面的正则表达式。但是我得到的是整个系列,我只是对版本感兴趣,即“4.3.0”。关于如何实现这一目标有什么帮助吗在python中使用正则表达式获取引号中的特定数据,python,python-3.x,regex,Python,Python 3.x,Regex,我正在尝试使用正则表达式从配置XML文件(fread)获取插件版本。 使用下面的正则表达式。但是我得到的是整个系列,我只是对版本感兴趣,即“4.3.0”。关于如何实现这一目标有什么帮助吗 (Pdb)键 'plugin=“git” (Pdb)关于findall(键+“*”,fread) ['plugin=”git@4.2.2“>\\n 2\\n\\n\\n 这可能不是最理想的正则表达式检查,但它确实有效:链接将解释捕获的工作原理。从中只需去掉@符号的字符串 如果定义了多个集合,这也允许查找多个集合
(Pdb)键
'plugin=“git”
(Pdb)关于findall(键+“*”,fread)
['plugin=”git@4.2.2“>\\n 2\\n\\n\\n
这可能不是最理想的正则表达式检查,但它确实有效:链接将解释捕获的工作原理。从中只需去掉@
符号的字符串
如果定义了多个集合,这也允许查找多个集合如果您想要更精确的检查,您可以搜索
git@
blah blah blah blah blah并返回所有这些集合,然后只需从本质上剥离前面的部分re.findall(r“key\s*”(.*?”),fread)
re.findall(r“key\s*”[^\d']*(?”,fread)?key“plugin=”git'(Pdb)re.findall(key+“*”,fread)[“plugin=”git@4.2.2“>\\n 2\\n re.findall(r“key\s*”[^\d']*(.*?”,fread)[@WiktorStribiżew:它什么也找不到,空列表re.findall(key+”@*”,fread)['plugin=“git@']---没有获取版本详细信息您需要使用我链接的确切正则表达式,并去掉附加的额外内容,它将在该点给出它的版本。我提到,如果有许多对象,您可以添加git@
,以进一步指定,但是如果您只有这些对象,那么您应该找到一个,而不是使用findall