# Issue while parsing Complex Regular expression  in YAML file

**URL:** <https://forum.ansible.com/t/issue-while-parsing-complex-regular-expression-in-yaml-file/33088>\
**Category:** Ansible Project\
**Created:** [June 4, 2020, 5:46am UTC](https://forum.ansible.com/t/issue-while-parsing-complex-regular-expression-in-yaml-file/33088 "2020-06-04T05:46:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pawan\_Kumar1](https://avatars.discourse-cdn.com/v4/letter/p/b782af/32.png) [@Pawan\_Kumar1](https://forum.ansible.com/u/Pawan_Kumar1)\
**Post date:** [June 4, 2020, 5:46am UTC](https://forum.ansible.com/t/issue-while-parsing-complex-regular-expression-in-yaml-file/33088/1 "2020-06-04T05:46:37Z")

</div>

“\[1\]{9,430}$”

**Tried other options like**

* * *

1. a-zA-Z0-9-+.#$%&~\*/=?^\_ '"\!

---

<div class="post-metadata">

**Author:** ![vbotka](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/vbotka/32/359_2.png) [@vbotka](https://forum.ansible.com/u/vbotka)\
**Post date:** [June 4, 2020, 7:26am UTC](https://forum.ansible.com/t/issue-while-parsing-complex-regular-expression-in-yaml-file/33088/2 "2020-06-04T07:26:48Z")

</div>

Try this

&nbsp;&nbsp;'^[a-zA-Z0-9-+.#$%&~\*/=?^\_''\"!]{9,430}$'

In "single-quoted style" only the single-quote must be escaped ('')  
[https://yaml.org/spec/1.2/spec.html#id2788097](https://yaml.org/spec/1.2/spec.html#id2788097)

For example (occurrences left out)

&nbsp;&nbsp;&nbsp;&nbsp;- debug:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg: OK  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop: ['a', '+', '}']  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when: item is match(context\_regex)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context\_regex: '^[a-zA-Z0-9-+.#$%&~\*/=?^\_''\"!]$'

gives

&nbsp;&nbsp;&nbsp;&nbsp;ok: [localhost] =\> (item=a) =\> {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"msg": "OK"  
&nbsp;&nbsp;&nbsp;&nbsp;}  
&nbsp;&nbsp;&nbsp;&nbsp;ok: [localhost] =\> (item=+) =\> {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"msg": "OK"  
&nbsp;&nbsp;&nbsp;&nbsp;}  
&nbsp;&nbsp;&nbsp;&nbsp;skipping: [localhost] =\> (item=})

HTH,

&nbsp;&nbsp;-vlado

---

<div class="post-metadata">

**Author:** ![vbotka](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/vbotka/32/359_2.png) [@vbotka](https://forum.ansible.com/u/vbotka)\
**Post date:** [June 4, 2020, 7:46am UTC](https://forum.ansible.com/t/issue-while-parsing-complex-regular-expression-in-yaml-file/33088/3 "2020-06-04T07:46:02Z")

</div>

The backslash must be escaped too (\\). For example,

&nbsp;&nbsp;&nbsp;&nbsp;- debug:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg: OK  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop: [' ', "'", '\', '"', '!', '}']  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when: item is match(context\_regex)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context\_regex: '^[a-zA-Z0-9-+.#$%&~\*/=?^\_ ''\\"!]$'

gives

&nbsp;&nbsp;&nbsp;&nbsp;ok: [localhost] =\> (item= ) =\> {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"msg": "OK"  
&nbsp;&nbsp;&nbsp;&nbsp;}  
&nbsp;&nbsp;&nbsp;&nbsp;ok: [localhost] =\> (item=') =\> {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"msg": "OK"  
&nbsp;&nbsp;&nbsp;&nbsp;}  
&nbsp;&nbsp;&nbsp;&nbsp;ok: [localhost] =\> (item=\) =\> {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"msg": "OK"  
&nbsp;&nbsp;&nbsp;&nbsp;}  
&nbsp;&nbsp;&nbsp;&nbsp;ok: [localhost] =\> (item=") =\> {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"msg": "OK"  
&nbsp;&nbsp;&nbsp;&nbsp;}  
&nbsp;&nbsp;&nbsp;&nbsp;ok: [localhost] =\> (item=!) =\> {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"msg": "OK"  
&nbsp;&nbsp;&nbsp;&nbsp;}  
&nbsp;&nbsp;&nbsp;&nbsp;skipping: [localhost] =\> (item=})

HTH,

&nbsp;&nbsp;-vlado
