전체 단어를 일치 시키려면 패턴을 사용합니다. (\w+)
PCRE 또는 이와 유사한 것을 사용한다고 가정합니다.
이 라이브 예제에서 가져온 위의 스크린 샷 : http://regex101.com/r/cU5lC2
명령 줄의 전체 단어를 (\w+)
Ubuntu 12.10 에서 phpsh 대화 형 셸 을 사용하여 preg_match 라는 방법을 통해 PCRE 정규식 엔진 을 시연 할 것입니다.
phpsh를 시작하고 일부 내용을 변수에 넣고 단어와 일치시킵니다.
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 방법 변수를 분석 PHP 언어 내의 PCRE 엔진을 사용했을 때 $content1
, $content2
및 $content3
와 (\w)+
패턴.
$ content1 및 $ content2에는 하나 이상의 단어가 포함되어 있지만 $ content3에는 포함되지 않습니다.
명령 줄에있는 여러 리터럴 단어를 (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 및 gun2에는 문자열 dart 또는 fart가 포함됩니다. gun4는 그렇지 않습니다. 그러나 fart
일치 하는 단어를 찾는 것은 문제가 될 수 있습니다 farty
. 이 문제를 해결하려면 정규식에서 단어 경계를 적용하십시오.
명령 줄의 리터럴 단어를 단어 경계와 일치시킵니다.
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
따라서 내용 fart
에 \b
단어 경계가 있는 단어가 존재하지 않는다는 점을 제외하면 이전 예제와 동일합니다 farty
.