Neu DotLiquid String per RegEx bereinigen

alex.hw

Aktives Mitglied
14. September 2021
5
3
Hi,
ist es möglich in DotLiquid einen String so zu bereinigen, dass nur die Zeichensätze übrig bleiben die einem RegEx entsprechen?

Bsp.:

String: das ist ein ABC123-Beispiel und FGH456 ist auch drin
RegEx: ([A-Z]{3}[\d]{3})
Bereinigter String:
ABC123
FGH456

Das was mir bisher einfiel:
{{ string | Replace: '^(?!([A-Z]{3}[\d]{3}))', '' }}
was nicht funktioniert

Danach würde ich idealerweise noch die vorkommenden Zeichensätze durchnummerieren, in etwa so:
Z001:ABC123
Z002:FGH456

Vielleicht stehe ich gerade auf dem Schlauch aber ich kann im Forum nichts passendes finden und komme von alleine nicht auf eine Lösung (außer eine Funktion dafür in der Datenbank zu schreiben...)
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.378
2.551
Berlin
Firma
css-umsetzung
Du kannst in Dotliquid nicht so einfach mit geschweiften Klammern arbeiten in einem Regex.
Das wäre der Ansatz wenn du diese brauchst:

Code:
{% assign test="ABC123-Beispiel" -%}
{% capture pattern -%}^([A-z]{3}[\d]{3})(.+){% endcapture -%}
{{ pattern }}
{{ test | Replace: pattern :"$1"}}