我尝试使用Ansible修改配置文件,但由于括号被视为正则表达式元素,因此似乎不会将其考虑在内。
但是如果我试图逃避它们,我就会出现语法错误......它应该如何工作?
# does nothing
regexp: "# unicorn['worker_processes'] = 2"
# error
regexp: "# unicorn\['worker_processes'\] = 2"
# error
regexp: '# unicorn\[\'worker_processes\'\] = 2'
答案 0 :(得分:6)
您正在谈论的正则表达式是字符串文字。这意味着你应该逃避方括号之前的反斜杠:
regexp: '# unicorn\\[\'worker_processes\'\\] = 2'
更好:
regexp: "# unicorn\\['worker_processes'\\] = 2"