Ich versuche, Dateinamen abzugleichen, die genau mit .en.html enden, indem ich reguläre Ausdrücke wie .en.html$ verwende. Das funktioniert beispielsweise mit z_.en.html, aber nicht mit a.len.html – es stimmt mit .len.html überein.
Irgendeine Hilfe?
Antwort1
Sie müssen das maskieren .
, das im regulären Ausdruck als Platzhalter betrachtet wird:
~$ [[ z_.en.html =~ \.en\.html$ ]] && echo match || echo no_match
match
~$ [[ a.len.html =~ \.en\.html$ ]] && echo match || echo no_match
no_match
Auch,https://regex101.com/ist sehr nützlich zum Debuggen von Regex-Problemen.