소개: 문자열을 처리하는 프로그램이나 웹페이지를 작성할 때 특정 복잡한 규칙과 일치하는 문자열
을 찾아야 하는 경우가 종종 있습니다. 정규식은 이러한 규칙을 설명하는 데 사용되는 구문입니다.
예: 사용자의 이메일 주소 형식, 휴대폰 번호 형식을 판단하거나 다른 사람의 웹페이지 내용을 수집할 때
PHP에도 자주 사용되는 두 가지 정규식 함수인 preg_match와 ereg가 있습니다. .
오늘 방금 preg_match를 봤습니다. 구체적인 작성 방법은 preg_match(모드, 문자열 주제, 배열 일치)입니다.
다음은 제가 작성한 예입니다.
코드는 다음과 같습니다. >< ?php
$mode="/[^8s]/";//일치하는 모듈
$str="sssjj88d";//일치하는 콘텐츠
echo "
"; 🎜>if (preg_match($mode,$str,$arr)){ //매칭 함수
echo "Match 성공적으로".$arr[0] //$arr[0]: 매칭의 첫 번째 값 결과 집합
}
else{
echo "일치 실패";
}
결과:
정규식(정규식) "메타문자":
* 이전 콘텐츠와 0회 이상 일치합니다. 즉, 이전 콘텐츠는
과 일치합니다. 콘텐츠가 0회, 1회 이상 일치하지만 캐리지 리턴 및 줄 바꿈은 포함되지 않습니다.
+ 1회 이상 일치합니다. 이전 콘텐츠 시간(비어 있는 경우 제외)
| PHP의 |와 유사한 일치 항목을 선택합니다(이 연산자는 약한 유형이므로 가장 전체적으로 일치합니다)
^는 문자열의 첫 번째 내용과 일치합니다.
$는 문자열의 마지막 내용과 일치합니다.
{a,b }는 이전 내용과 일치하는 횟수를 나타내며, 이는 a부터 b까지의 횟수를 나타냅니다.
() 전체 일치 항목을 병합하여 메모리에 넣습니다. 1 2...를 사용하여 순서대로 얻을 수 있습니다.
다음은 PHP로 작성한 예입니다.
코드 복사 코드는 다음과 같습니다. 다음과 같습니다:
$mode="/d{2,4}(.*)d{1,2}\1d{1,2}/";//매칭이 더 간단합니다. 모듈은 일반적으로 작성할수록 좋습니다
//$ mode="/2009(.*)9\1(10)/"
$str="2011/9/10"
preg_match($mode,$str,$arr)){
echo "성공적인 일치"."
".$arr[0]." < ;font size='+4' color=blue>스승의 날 축하합니다";
}
else{
echo "일치 실패 ";
}
?>