* represent anything
? represent a character
에 의해 도스 일치하는 패턴을 구현하는 방법을도스 파일 이름으로 PHP
*.test.com
는 aaa.test.com
일치하지만 정규 표현식 *.test.com
이
는 PHP에서 정규 표현식 /.*\.test\.com/
와 유사한처럼하지 test.com
도스 일치 php에서 dos-like regexp를 테스트하는 내장 함수가 있습니까?
* represent anything
? represent a character
에 의해 도스 일치하는 패턴을 구현하는 방법을도스 파일 이름으로 PHP
*.test.com
는 aaa.test.com
일치하지만 정규 표현식 *.test.com
이
는 PHP에서 정규 표현식 /.*\.test\.com/
와 유사한처럼하지 test.com
도스 일치 php에서 dos-like regexp를 테스트하는 내장 함수가 있습니까?
귀하의 사례에서 볼 수있는 한 glob()
및/또는 fnmatch()
입니다.
$pattern = '*.test.com';
var_dump(fnmatch($pattern, 'aaa.test.com'));
var_dump(fnmatch($pattern, 'test.com'));
이것은 정규식이 아니라는 점에 유의하십시오. 이는 훨씬 간단한 패턴 매칭에 불과하기 때문입니다. 왜 여기에 정규식을 사용해야하는지 이유가 보이지 않습니다. 따라서 적어도 fnmatch()
은 더 효율적으로해야합니다.
'fnmatch()'에 대해 몰랐습니다! – Mchl
fnmatch는 내가 원했던 것입니다. 감사합니다 m8. – bajie
@bajie : 답변을 수락하는 것을 잊지 마십시오. – KingCrunch
예. preg_match() – Mchl
preg_match는 정규 표현식입니다. fnmatch는 정확합니다. – bajie
그렇지만 동일한 결과를 얻으려면 간단한 str_replace와 함께 preg_match를 사용할 수 있습니다. KingCrunch가 대답을 올렸을 때 나는 실제로 이것을 쓰고있었습니다. BTW : 그의 대답을 받아 들일 것을 잊지 마십시오. – Mchl