我尝试使用Ansible的replace
模块,但我不知道如何使用regexp
匹配某些字符串。
我尝试匹配以字符$
开头的字符串,但是ansible一直说他found unknown escape character '$'
。
我知道ansible使用了python中相同的regexp规则,但我也不能在python中使用它,你们知道怎么做吗?
我已经尝试过这些正则表达式规则:
^\$
,[!^$]
,[!^$]
和\s*[!^$]
最后3条规则与以$
开头的字符串匹配,但如果字符串不以$
开头,则与这些字符串匹配。
最后3条规则的一些例子:
foo doesn't match
$foo match
$$$$ match
foo$ match
foo$bar match
我只需要在这种情况下匹配:
foo
$foo this case
$$$$ this case
foo$
foo$bar
答案 0 :(得分:0)
使用re.match
<强>演示:强>
import re
l = ["foo", "$foo", "$$$$", "foo$", "foo$bar"]
for i in l:
print(re.match("^\$", i))
<强>输出:强>
None
<_sre.SRE_Match object at 0x0000000001D84578>
<_sre.SRE_Match object at 0x0000000001D84578>
None
None
在Ansible中尝试使用regex_search
。