我有一个类似'testname=ns,mem=2G'
的字符串
解析上面的字符串后我想要
将变量 tstnm
分配给 ns
并将变量 memory
分配给 2G
import re
str = "testname=ns,mem=2G"
b = re.search('(?<=testname=)\w+', str)
m = re.search('(?<=mem=)\w+', str)
if b:
tstnm = b.group(0)
if m:
memory = m.group(0)
这行得通,但是当我尝试一次性完成时,比如 -
m = re.search('(?<=testname=)(\w+)\,(?<=mem=)(\w+)', str)
m
是 None
//
最佳答案
使用 re.findall()
,您可以使用 pipe(|)
合并您的正则表达式:
>>> s = "testname=ns,mem=2G"
>>> re.findall('(?<=testname=)\w+|(?<=mem=)\w+', s)
['ns', '2G']
不要使用str
作为变量名。
关于python - 匹配字符串中的多个组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18974941/