ansible error 'first argument must be string or compiled pattern'

I have this code in my playbook:

- hosts: standby
  remote_user: root
  tasks:
  - name: replace hostname in config
    replace:
      path: /opt/agentd.conf
      regexp: #\s+Hostname\=
      replace: Hostname={{hname}}
      backup: yes
  - name: add database array in files
    lineinfile:
      path: /opt/zabbix_agent/share/scripts/{{ item }}
      line: 'DBNAME_ARRAY=( {{dbname}} )'
      insertafter: DB2PATH=/home/db2inst1/sqllib/bin/db2
      backup: yes
  with_items:
   - Connections
   - HadrAndLog
   - Memory
   - Regular
 - name: restart service
   shell: /etc/init.d/agent restart
   register: command_output
   become: yes
   become_user: root
   tags: restart
 - debug: msg="{{command_output.stdout_lines}}"
 tags: set_config_st

it will replace # Hostname= in a config file with Hostname= givenhostname and add an array in 4 scripts. array is the name of given database. then it will restart the agent to apply the changes.
when i run this command:

ansible-playbook -i /Ansible/inventory/hostfile /Ansible/provision/nconf.yml --tags set_config_st --extra-vars "hname=fazi dbname=fazidb"

i get this error:

first argument must be string or compiled pattern
i searched a bit but couldn’t find the reason. what should i do?

I have this code in my playbook:

>- hosts: standby remote_user: root tasks: - name: replace hostname in config replace: path: /opt/agentd.conf regexp:
#\s+Hostname\= replace: Hostname={{hname}} backup: yes - name: add database array in files lineinfile: path:
/opt/zabbix_agent/share/scripts/{{ item }} line: 'DBNAME_ARRAY=( {{dbname}} )' insertafter:
DB2PATH=/home/db2inst1/sqllib/bin/db2 backup: yes with_items: - Connections - HadrAndLog - Memory - Regular - name:
restart service shell: /etc/init.d/agent restart register: command_output become: yes become_user: root tags: restart -
debug: msg="{{command_output.stdout_lines}}" tags: set_config_st |

it will replace |# Hostname=| in a config file with |Hostname= givenhostname| and add an array in 4 scripts. array is
the name of given database. then it will restart the agent to apply the changes.
when i run this command:

>ansible-playbook -i /Ansible/inventory/hostfile /Ansible/provision/nconf.yml --tags set_config_st --extra-vars
"hname=fazi dbname=fazidb" |

i get this error:

>first argument must be string or compiled pattern|
i searched a bit but couldn't find the reason. what should i do?

1. consider to use the Zabbix agent role from Galaxy (https://galaxy.ansible.com/dj-wasabi/zabbix-agent)
2. show the complete error, it may include the line number

Regards
        Racke

found the solution. i should use ‘#\s+Hostname=’ in quotes