Thanks Racke, but I just tried:
- name: task 3
debug:
msg: "{{ item }} is in s"
loop: "{{ t_list }}"
when: ( item | regex_replace('^p(\d+).*$', '\1') ) in s
It fails. Only works with \\1.
On Mon, Nov 21, 2022 at 9:52 AM Stefan Hornburg (Racke) <[email protected]>
wrote:
> On 21/11/2022 14:01, [email protected] wrote:
> > Wow. Never would have thought to try that. Escaping in YAML/Jinja is
> such an unintuitive mess. Thanks so much, Andrew.
>
> It is easier though when you use single quotes for the arguments of the
> regex_replace filter.
>
> Regards
>
> Racke
>
>
> >
> > On Friday, November 18, 2022 at 4:59:47 PM UTC-5 [email protected] wrote:
> >
> >
> >
> > ok, here it is..... should be \\1 vs \1 in your replacement and
> test(is) on string contents(in)
> >
> >
> > - name: task 3
> > debug:
> > msg: "{{ item }} is in the s"
> > loop: "{{ t_list }}"
> > when: ( item | regex_replace("^p(\d+).*$", "\\1") ) is in s
> >
> > - name: task 3.orig
> >
> > debug:
> > msg: "{{ item }} is in s"
> > loop: "{{ t_list }}"
> > when: ( item | regex_replace("^p(\d+).*$", "\1") ) in s
> >
> >
> >
> > TASK [task 3]
> ****************************************************************************************************
> > ok: [localhost] => (item=p1_xyz) => {
> > "msg": "p1_xyz is in the s"
> > }
> > ok: [localhost] => (item=p2_xyz) => {
> > "msg": "p2_xyz is in the s"
> > }
> >
> > TASK [task 3.orig]
> ***********************************************************************************************
> > skipping: [localhost] => (item=p1_xyz)
> > skipping: [localhost] => (item=p2_xyz)
> > skipping: [localhost]
> >
> > PLAY RECAP
> *******************************************************************************************************
> > localhost : ok=3 changed=0 unreachable=0
> failed=0 skipped=1 rescued=0 ignored=0
> >
> >
> > I did this in a hurry, so there may be mistakes or more awesome ways
> of doing this. YMMV
> >
> >
> > On Fri, Nov 18, 2022 at 2:05 PM Andrew Latham <[email protected]>
> wrote:
> >
> > Rob
> >
> > Trying to follow along, So on Task 3 you want to iterate over
> the list t_list and match if the digit is in variable s? First thought is
> that you are testing if an int is a string.
> >
> >
> >
> >
> >
> > On Fri, Nov 18, 2022 at 12:00 PM [email protected] <
> [email protected]> wrote:
> >
> > Hey all - I think I'm losing my mind. Can anyone explain
> why every iteration of task 3 is being skipped (compare w/ task 2,
> especially)?
> >
> > (ansible2_12_8) rowagn@mlb656 client % cat d.yml
> > - hosts: all
> > gather_facts: no
> > vars:
> > s: '1 2 3'
> > t: p1_xyz
> > t_list:
> > - p1_xyz
> > - p2_xyz
> >
> > tasks:
> > - name: task 1
> > debug:
> > msg: '{{ ( t | regex_replace("^p(\d+).*$", "\1") ) in
> s }}'
> >
> > - name: task 2
> > debug:
> > msg: '{{ ( item | regex_replace("^p(\d+).*$", "\1") )
> in s }}'
> > loop: "{{ t_list }}"
> >
> > - name: task 3
> > debug:
> > msg: "{{ item }} is in s"
> > loop: "{{ t_list }}"
> > when: ( item | regex_replace("^p(\d+).*$", "\1") ) in s
> > (ansible2_12_8) rowagn@mlb656 client % ansible-playbook
> d.yml -i ~/localhost
> >
> > PLAY [all]
> **********************************************************************************************************
> >
> > TASK [task 1]
> *******************************************************************************************************
> > ok: [localhost] => {
> > "msg": true
> > }
> >
> > TASK [task 2]
> *******************************************************************************************************
> > ok: [localhost] => (item=p1_xyz) => {
> > "msg": true
> > }
> > ok: [localhost] => (item=p2_xyz) => {
> > "msg": true
> > }
> >
> > TASK [task 3]
> *******************************************************************************************************
> > skipping: [localhost] => (item=p1_xyz)
> > skipping: [localhost] => (item=p2_xyz)
> > skipping: [localhost]
> >
> > PLAY RECAP
> **********************************************************************************************************
> > localhost : ok=2 changed=0
> unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
> >
> > I've started at this for hours.
> >
> > Rob
> > --
> > You received this message because you are subscribed to the
> Google Groups "Ansible Project" group.
> > To unsubscribe from this group and stop receiving emails
> from it, send an email to [email protected].
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/88a55b8c-718d-4a61-88c3-bf989525e65cn%40googlegroups.com
> <
> https://groups.google.com/d/msgid/ansible-project/88a55b8c-718d-4a61-88c3-bf989525e65cn%40googlegroups.com?utm_medium=email&utm_source=footer
> >.
> >
> >
> >
> > --
> > - Andrew "lathama" Latham -
> >
> >
> >
> > --
> > - Andrew "lathama" Latham -
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "Ansible Project" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/a54f7244-663e-42d5-bc37-ef23d3960e5en%40googlegroups.com
> <
> https://groups.google.com/d/msgid/ansible-project/a54f7244-663e-42d5-bc37-ef23d3960e5en%40googlegroups.com?utm_medium=email&utm_source=footer
> >.
>
>
> --
> Automation expert - Ansible and friends
> Linux administrator & Debian maintainer
> Perl Dancer & conference hopper
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/ansible-project/Sh14YJbuf04/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/b155382a-2483-45ff-acd8-491051a503a2%40linuxia.de
> .
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CAMc-rNN0miRLJ-bs1NGknOmvB_RRECMjrbah2WiNoCdebTsjNA%40mail.gmail.com.