Disons que c'est très facile si je veux trouver quelque chose contenant des lettres minuscules et des chiffres avec
produire_text | grep -E '[0-9a-z]'
Les crochets sont utiles pour faire correspondre un ensemble de caractères, mais qu'en est-il de ceux qui sont quelque peu spéciaux?
Si je veux, en utilisant des crochets, faire correspondre n'importe quel caractère sauf un: un crochet de fermeture ]
, un tiret (ou un trait d'union) "-", les deux barres obliques /
et \
, un signe d'insertion ^
, un deux-points :
.
Cela ressemblera-t-il à cela (je sais que cela ne fonctionne pas)?
[^] - / \ ^:]
awk
implémentations etperl
par exemple.[^-]]
(celui-ci échoue)?^
quel,]
donc[^-]]
ne fonctionnerait pas même si les deux^
et]
ont été traités littéralement (tout comme[b-a]
). Quoi qu'il en soit, si vous vouliez faire correspondre, par exemple,;
à un crochet fermant, vous pouvez utiliser une plage jusqu'au caractère précédent]
(qui est une barre oblique inverse) et inclure]
comme premier caractère dans l'expression du crochet, par exemple[];-\\]
.[[.^.]-[.-.]]
? J'ai le sentiment que cela fonctionnerait. Supposons que le code ASCII de^
soit antérieur-
.[^[.].][.-.]/\^:]
Curieusement peut-être, vous devez avoir quelques personnages dans des endroits spécifiques. Vous devez avoir
]
comme premier caractère dans un jeu et-
être le dernier caractère d'un jeu.Voici une RE qui répond à vos besoins
[^]\^/-]
:la source
[
personnage n'y appartient pas; l'OP ne veut pas l'exclure.