replace:
path: "{{ drupal.install_dir }}/{{ drupal.project_name }}/sites/default/settings.php"
regexp: '(\s+)(\'database\' => \'{{ drupal.database_name }}\',)$'
replace: '\1\2\n\1\'charset\' => \'utf8mb4\',\n\1\'collation\' => \'utf8mb4_unicode_ci\','
但給人的錯誤:奇怪的錯誤在Ansible關於正則表達式
path: "{{ drupal.install_dir }}/{{ drupal.project_name }}/sites/default/settings.php"
regexp: '(\s+)(\'database\' => \'{{ drupal.database_name }}\',)$'
^here
錯誤內容在哪裏?爲什麼不簡單地用雙引號括起整個表達式呢?而不是逃避單一的。 – techraf
@techraf我不認爲雙引號是有效的(至少不是對我來說,我已經嘗試過了,所有的例子都是單引號的)。錯誤內容是我向你展示的內容,僅僅是一些垃圾。基本上說,有一個語法錯誤。如果我翻轉正則表達式並替換,錯誤出現在替換中,就在旁邊的一個轉義單引號 – JorgeeFG