>백엔드 개발 >PHP 튜토리얼 >PHP preg_match() 정규식 함수 사용에 대한 자세한 설명

PHP preg_match() 정규식 함수 사용에 대한 자세한 설명

WBOY
WBOY원래의
2023-06-27 15:39:556543검색

PHP는 웹 개발에 널리 사용되는 서버 측 스크립팅 언어로, 문자열 및 정규식 처리 기능을 포함한 풍부한 기능 라이브러리를 제공합니다. 이 기사에서는 PHP에서 정규식을 일치시키는 데 사용되는 함수 중 하나인 preg_match() 함수의 사용에 중점을 둘 것입니다.

1. preg_match() 함수 정의

preg_match() 함수는 PHP에서 정규식을 일치시키는 데 사용되는 함수 중 하나입니다. 이 함수는 문자열에 정규식 패턴과 일치하는 하위 문자열이 있는지 검색하고 그 결과를 배열에 저장하는 데 사용됩니다. 반환 값은 성공적인 일치 횟수입니다. 함수는 다음과 같이 정의됩니다.

preg_match(pattern, subject, matches)

패턴: '/^[a-zA-Z0-9_]+$/'와 같은 정규식 패턴.

subject: 'hello world'와 같이 일치시킬 문자열입니다.

matches: 일치하는 결과를 저장하는 배열입니다. 생략하거나 작성하지 않을 수도 있고, 함수 외부에서 정의한 후 작성할 수도 있습니다.

2. 정규식 구문

preg_match() 함수를 사용하기 전에 정규식 구문을 이해해야 합니다. 정규식은 패턴을 일치시키고 문자열의 특성을 설명하는 데 사용되는 일련의 문자입니다. 다음은 일반적으로 사용되는 정규식 구문입니다.

^: 문자열의 시작 부분과 일치함을 나타냅니다.

$: 일치하는 문자열의 끝을 나타냅니다.

.: 모든 문자와 일치합니다.

*: 0번 이상 나타나는 이전 문자와 일치합니다.

+: 1번 이상 나타나는 이전 문자를 일치시킵니다.

?: 이전 문자가 0회 또는 1회 나타나는 것과 일치하며 선택적 옵션을 나타냅니다.

[]: 대괄호 안의 모든 문자와 일치합니다. 예를 들어 '[abc]'는 a, b, c의 모든 문자와 일치한다는 의미입니다.

d: 숫자를 일치시킵니다.

D: 숫자가 아닌 숫자와 일치합니다.

w: 문자, 숫자, 밑줄을 일치시킵니다.

W: 문자가 아닌 숫자, 밑줄을 일치시킵니다.

3. preg_match() 함수 사용 예

다음은 preg_match() 함수 사용 예입니다.

예시 1: 휴대폰 번호 일치

$pattern = '/^1[3456789]d{9}$/';
$subject = '13888888888';
if (preg_match($pattern, $subject, $matches)) {
    echo '匹配成功!';
} else {
    echo '匹配失败!';
}

예시 2: 이메일 주소 일치

$pattern = '/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/';
$subject = 'example@example.com';
if (preg_match($pattern, $subject, $matches)) {
    echo '匹配成功!';
} else {
    echo '匹配失败!';
}

예시 3: URL 주소 일치

$pattern = '/^((https|http|ftp|rtsp|mms)?://)[^s]+/';
$subject = 'http://www.example.com';
if (preg_match($pattern, $subject, $matches)) {
    echo '匹配成功!';
} else {
    echo '匹配失败!';
}

예시 4: 한자 일치

$pattern = '/^[u4e00-u9fa5]+$/';
$subject = '中国汉字';
if (preg_match($pattern, $subject, $matches)) {
    echo '匹配成功!';
} else {
    echo '匹配失败!';
}

IV preg_match() 함수 사용 시 주의사항

preg_match() 함수를 사용할 때 주의할 사항이 있습니다:

  1. 함수의 반환 값은 성공하면 1이고, 실패하면 0 또는 false입니다.
  2. 일치하는 결과가 여러 개인 경우 첫 번째로 일치하는 결과만 배열에 저장됩니다.
  3. 정규식 패턴에 이스케이프 문자를 사용해야 하는 경우 이스케이프 문자 앞에 백슬래시''를 추가해야 합니다.
  4. preg_match_all() 함수를 사용하면 패턴과 일치하는 문자열의 모든 하위 문자열을 일치시킬 수 있습니다.

5. 결론

이 기사를 통해 독자는 PHP에서 preg_match() 함수의 사용법과 정규식의 구문을 완전히 이해할 수 있습니다. 정규식은 웹 개발에서 일반적으로 사용되는 기술입니다. 정규식을 능숙하게 사용하면 웹 개발의 효율성과 품질을 향상시킬 수 있습니다. 정규식을 사용할 때 일치 패턴과 일치할 문자열을 주의 깊게 확인하여 결과가 올바른지 확인해야 한다는 점에 유의해야 합니다.

위 내용은 PHP preg_match() 정규식 함수 사용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.