我想找到一个模式,并用另一个替换它,假设我有:
"Name":"hello"
Run Code Online (Sandbox Code Playgroud)
并想这样做
Name= "hello"
Run Code Online (Sandbox Code Playgroud)
使用Python正则表达式的字符串可能是双引号里的任何东西,所以我需要找到模式“ ‘:’ ”,取而代之的是=” “
这个表达,
^"\s*([^"]+?)\s*"\s*:\s*"?([^"]+)"?$
Run Code Online (Sandbox Code Playgroud)
有两个捕获组:
([^"]+?)
Run Code Online (Sandbox Code Playgroud)
用于收集我们所需的数据。然后,我们将简单地re.sub。
在本演示中,如果您有兴趣,可以解释该表达式。
import re
result = re.sub('^"\s*([^"]+?)\s*"\s*:\s*"?([^"]+)"?$', '\\1= "\\2"', '" Name ":" hello "')
print(result)
Run Code Online (Sandbox Code Playgroud)