Comment puis-je correspondre à un caractère pipe suivie par des espaces et un autre tuyau?
Je suis en train d'essayer de trouver tous les matchs dans une chaîne de caractères qui commence par | |
.
J'ai essayé: if ($line =~ m/^\\\|\s\\\|/)
qui n'a pas fonctionné.
Des idées?
Vous devez fournir plus de contexte si cela n'a pas fonctionné.
Ou écrire une autre question 🙂
Ou écrire une autre question 🙂
OriginalL'auteur | 2008-10-08
Vous devez vous connecter pour publier un commentaire.
Vous échapper à la conduite une fois de trop, de manière efficace de s'échapper de la barre oblique inverse à la place.
OriginalL'auteur Vinko Vrsalovic
Tuyau de caractères doivent être échappés avec une seule barre oblique inverse dans une expression rationnelle Perl. (Perl regexes sont un peu différent de la norme POSIX regexes. Si vous êtes en utilisant ce à, dire, grep, les choses seraient un peu différentes.) Si vous êtes spécifiquement à la recherche d'un espace entre eux, puis d'utiliser non échappés de l'espace. Ils sont parfaitement acceptables dans une expression rationnelle Perl. Voici un petit programme de test:
OriginalL'auteur
Si c'est une chaîne de caractères que vous recherchez, vous n'avez pas besoin d'une expression régulière.
Ou il peut être plus clair pour ce faire:
Vous pouvez également regarder quotemeta lorsque vous souhaitez utiliser un littéral dans une regexp.
OriginalL'auteur Kyle
Supprimer le ^ et le double anti-slash. L' ^ les forces de la chaîne afin d'être au début de la chaîne. Puisque vous êtes à la recherche pour tous les matches dans une chaîne de caractères, ce n'est probablement pas ce que vous voulez.
OriginalL'auteur Mathieu Longtin
Ce sujet:
Le \s* correspond à zéro ou plusieurs caractères espace, lorsque, selon la question, il veut correspondre exactement à un caractère d'espacement.
OriginalL'auteur Zsolt Botykai