Ansible替换模块regexp以' $'开头

时间:2018-05-21 13:17:56

标签: python regex python-2.7 replace ansible

我尝试使用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

1 个答案:

答案 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