如何在正则表达式中找到模式?

Pra*_*wal 2 python regex

我想找到一个模式,并用另一个替换它,假设我有:

"Name":"hello"
Run Code Online (Sandbox Code Playgroud)

并想这样做

Name= "hello"
Run Code Online (Sandbox Code Playgroud)

使用Python正则表达式的字符串可能是双引号里的任何东西,所以我需要找到模式“ ‘:’ ”,取而代之的是=”

Emm*_*mma 5

这个表达,

^"\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)