Ansible replace модуль regexp, начинающийся с '$' - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь использовать модуль replace из Ansible, и я не знаю, как сопоставить какую-либо строку, используя regexp.

Я пытаюсь сопоставить строку, начинающуюся с символа$ но ansible продолжает говорить, что он found unknown escape character '$'.

Я знаю, что ansible использует те же правила регулярных выражений из python, но я не могу сделать это и в 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 голосов
/ 21 мая 2018

Использование 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...