Herhangi bir kelimeyi tam olarak eşleştirmek için kalıbı kullanırsınız (\w+)
PCRE veya benzeri bir şey kullandığınızı varsayarsak:
Bu canlı örnekten alınan yukarıdaki ekran görüntüsü: http://regex101.com/r/cU5lC2
Komut satırındaki herhangi bir kelimenin tam olarak eşleştirilmesi (\w+)
Ben kullanarak olacak phpsh interaktif kabuk üzerinde Ubuntu 12.10 göstermek için PCRE regex motoru olarak bilinen yöntemle preg_match
Phpsh'yi başlatın, bir değişkene biraz içerik koyun, kelime ile eşleştirin.
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
Preg_match yöntemi değişkenleri analiz etmek PHP dili içinde PCRE motorunu kullandı: $content1
, $content2
ve $content3
ile (\w)+
desen.
$ içerik1 ve $ içerik2 en az bir kelime içerir, $ içerik3 içermez.
Komut satırındaki bir dizi değişmez kelimeyi şununla eşleştirin: (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
gun1 ve gun2 değişkenleri dart veya osuruk dizesini içerir. gun4 yapmaz. Ancak kelime fart
eşleşmeleri aramak bir sorun olabilir farty
. Bunu düzeltmek için normal ifadede kelime sınırlarını zorlayın.
Komut satırındaki değişmez kelimeleri kelime sınırlarıyla eşleştirin.
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
Bu yüzden kelime dışında önceki örnekle aynıdır fart
bir ile \b
kelime sınırı içeriğinde yok: farty
.