python正则表达式匹配任何字符串$(*)

时间:2017-05-02 21:15:41

标签: regex python-3.x

我在使用python正则表达式时遇到了麻烦,因为我正在编写脚本以生成简单的shell脚本。我必须遗漏一些非常简单的东西。

示例字符串:

"$(VAR1)/mypath/to/nowhere"
"$(VAR2)"
"/cruel/$(VAR3)/world"

如何匹配并返回字符串中的所有$(*)值?我尝试过类似于'$\((*)\)'的一堆不同的正则表达式,但是我没有在python正则表达式测试器中获得任何匹配。非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

使用以下方法:

s = "$(VAR1)/cruel/$(VAR3)/world"
result = re.findall(r'\$\([^()]+\)', s)

print(result)

输出:

['$(VAR1)', '$(VAR3)']