Voici une technique de regex de base que je n'ai jamais réussi à retenir. Disons que j'utilise une implémentation regex assez générique (par exemple, grep ou grep -E). Si je devais faire une liste de fichiers et de faire correspondre n'importe quelle fin à .sty
ou .cls
, comment ferais-je cela?Regex pour faire correspondre des sous-chaînes uniques
4
A
Répondre
4
ls | grep -E "\.(sty|cls)$"
\.
matchs littéralement"."
- un.
correspond à tout caractère non échappés(sty|cls)
- Match"sty"
ou"cls"
- le | est unor
et les parenthèses limitent l'expression.$
force le match soit à la fin de la ligne
Notez que vous voulez grep -E
ou egrep
, pas grep -e
comme c'est une autre option pour les listes de modèles.
2
egrep "\.sty$|\.cls$"
2
Ce regex.
\ (sty | CCRS) \ z
correspond à tout chaîne se termine par .sty ou .cls
EDIT:
pour grep \ z doit être remplacé par $ ie \. (sty | cls) $ comme jelovirt suggéré.