Hier ist eine grundlegende Regex-Technik, an die ich mich nie erinnern konnte. Nehmen wir an, ich verwende eine ziemlich generische Regex-Implementierung (z. B. grep oder grep -E). Wenn ich eine Liste von Dateien erstellen und jedes Ende in entweder .sty
oder .cls
abgleichen würde, wie würde ich das tun?Regex für eindeutige Teilstrings
4
A
Antwort
4
ls | grep -E "\.(sty|cls)$"
\.
Matches buchstäblich ein"."
- ein unescaped.
jedes Zeichen(sty|cls)
- Spiel"sty"
oder"cls"
- die | ist einor
und die Klammern begrenzen den Ausdruck.$
zwingt das Spiel am Ende der Leitung
Hinweis zu sein, Sie grep -E
oder egrep
wollen, nicht grep -e
wie für Listen von Mustern eine andere Option.
2
egrep "\.sty$|\.cls$"
2
Diese Regex.
\ (sty | cls) \ z
wird beendet jeden String mit .sty oder .cls
EDIT:
für grep \ z ersetzt werden sollte $ ie \. (sty | cls) $ als jelovirt vorgeschlagen.