Pour correspondre à n'importe quel mot entier, vous utiliseriez le modèle (\w+)
En supposant que vous utilisez PCRE ou quelque chose de similaire:
Capture d'écran ci-dessus tirée de cet exemple en direct: http://regex101.com/r/cU5lC2
Faire correspondre n'importe quel mot entier sur la ligne de commande avec (\w+)
J'utiliserai le shell interactif phpsh sur Ubuntu 12.10 pour démontrer le moteur d' expression régulière PCRE via la méthode connue sous le nom de preg_match
Démarrez phpsh, mettez du contenu dans une variable, faites correspondre le mot.
el@apollo:~/foo$ phpsh
php> $content1 = 'badger'
php> $content2 = '1234'
php> $content3 = '$%^&'
php> echo preg_match('(\w+)', $content1);
1
php> echo preg_match('(\w+)', $content2);
1
php> echo preg_match('(\w+)', $content3);
0
La méthode de preg_match utilisé le moteur de PCRE dans le langage PHP pour analyser les variables: $content1
, $content2
et $content3
avec le (\w)+
motif.
$ content1 et $ content2 contiennent au moins un mot, $ content3 n'en contient pas.
Faites correspondre un certain nombre de mots littéraux sur la ligne de commande avec (dart|fart)
el@apollo:~/foo$ phpsh
php> $gun1 = 'dart gun';
php> $gun2 = 'fart gun';
php> $gun3 = 'farty gun';
php> $gun4 = 'unicorn gun';
php> echo preg_match('(dart|fart)', $gun1);
1
php> echo preg_match('(dart|fart)', $gun2);
1
php> echo preg_match('(dart|fart)', $gun3);
1
php> echo preg_match('(dart|fart)', $gun4);
0
Les variables gun1 et gun2 contiennent la chaîne dart ou fart. gun4 ne le fait pas. Cependant, la recherche de fart
correspondances de mots peut poser un problème farty
. Pour résoudre ce problème, appliquez les limites des mots dans regex.
Faites correspondre les mots littéraux sur la ligne de commande avec les limites des mots.
el@apollo:~/foo$ phpsh
php> $gun1 = 'dart gun';
php> $gun2 = 'fart gun';
php> $gun3 = 'farty gun';
php> $gun4 = 'unicorn gun';
php> echo preg_match('(\bdart\b|\bfart\b)', $gun1);
1
php> echo preg_match('(\bdart\b|\bfart\b)', $gun2);
1
php> echo preg_match('(\bdart\b|\bfart\b)', $gun3);
0
php> echo preg_match('(\bdart\b|\bfart\b)', $gun4);
0
Il est donc le même que l'exemple précédent , sauf que le mot fart
avec une \b
limite de mot n'existe pas dans le contenu: farty
.