2017-10-23 5 views
-1

Da Stringregex zurückzukehren Zeichen in Position 3-4

1201-ryryryry 

I 01 extrahieren möchten, nur Zeichen in Position 3-4

Mit https://regex101.com/

I regex kann

^(?:.{2})(.{2}) 

Welche gibt zurück: Voll Spiel 0-4 1201 Gruppe 1. 2-4 01

Mit ansible regex_search() und es scheint es nur die "Full Match" von 1201.

nur 01 Irgendeine Idee, wie ich kann es liest haben passen ?

Antwort

0

Mit ansible regex_search()

Wollen Sie einfach einen Teil bekommen? Warum würden Sie einen Filter für reguläre Ausdrücke dafür verwenden?

Verwenden regelmäßigen Python slicing in Jinja2 Vorlage:

string[x:y] 

x verweist auf die Position, aus der schließen; y verweist auf die Position, von der abzuschneiden - in Ihrem Fall 01 zu bekommen (Sie können natürlich, verwenden Sie eine Variable anstelle des Strings direkt):

- debug: 
    msg: "{{ '1201-ryryryry'[2:4] }}" 
+0

Große Antwort, funktioniert gut. Vielen Dank! – jacksonp

0

Versuchen Positive Lookbehind

(?<=\d{2})\d{2} 
+0

Große Antwort, funktioniert gut. – jacksonp