정규식은 한 줄에 생성되는 패턴 일치 알고리즘으로 정의할 수 있습니다. 이는 유효성 검사 및 템플릿 인식의 경우 영향을 미칩니다. 메타 문자를 사용하면 사용자가 복잡한 패턴을 처리할 수 있습니다. 따라서 정규식에 대한 PHP 지원은 PHP 프로그래밍의 코드 품질을 향상시키는 데 도움이 됩니다. 모든 정규식은 주어진 주제 문자열에 대해 패턴 일치 기능을 제공하는 데 사용되는 일반 패턴 또는 문자 집합의 시퀀스입니다. RegExp 또는 RegEx라고도 합니다. 문자열 구문 분석에 사용되는 패턴 표기법 기반의 소형 프로그래밍 언어로도 간주됩니다.
광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
아래에서는 2가지 정규식 세트를 지원합니다.
이것은 단일 문자가 입력 문자열과 일치해야 하는 문자 집합으로 정의됩니다. 이러한 표현식은 [] 내에 정의됩니다.
예:
필터를 더욱 구체적으로 만들기 위해 정규식 및 특수 문자를 포함하는 수량자라고 알려진 표준 구문이 개발되었습니다. 또한 빈도, 즉 괄호 문자 또는 문자 그룹의 발생 횟수나 인스턴스 및 수량에 대한 정보를 제공합니다.
다양한 수량자에 대한 설명을 확인할 수 있는 표:
Quantifier | Description |
S+ | Filters out a string having at least one ‘s’. |
S* | Filters out a string having zero or more ‘s’. |
S? | Filters out a string having zero or one ‘s’. |
S{N} | Filters out a string having a sequence of N ‘s’. |
S$ | Filters out a string having ‘s’ at the end. |
^S | Filters out a string having ‘s’ at the beginning. |
predefined character class | Description |
[[:space:]] | Filters out a string having a space. |
[[:alpha:]] | Filters out a string having alphabetic characters a-A through z-Z. |
[[:digit:]] | Filters out a string having numerical 0 to 9. |
[[:alnum:]] | Filters out a string having alphanumeric characters a-A through z-Z and numerical 0 to 9. |
POSIX 정규 표현식의 경우 PHP는 POSIX 스타일 정규 표현식을 사용하여 다양한 작업을 수행하기 위한 다양한 기능을 통합합니다.
아래 표와 같이 기능이 설명되어 있습니다.
POSIX Regex function | Description |
ereg() | Used to search a string specified by or by pattern and to return true if the matching is found. |
ereg_replace() | Used to search a string specified by or by pattern and replace with replacement if the matching is found. |
eregi() | Used to perform non-case sensitive search for a string specified by or by pattern and to return true if the matching is found. |
eregi_replace() | Used to perform non-case sensitive for a string specified by or by pattern and replace with replacement if the matching is found. |
split() | Used to divide the string into separate elements based on boundaries that matches the searching pattern. |
spliti() | Used to perform non-case sensitive for the string to divide it into separate elements based on boundaries that matches the searching pattern. |
sql_regcase() | A utility function that convert each character from the input value into a bracketed expression making two characters. |
이 유형의 정규식 패턴은 POSIX 정규식과 유사하지만 메타 문자와 식별자로 생성됩니다. 이 Regexes의 구문은 POSIX 스타일과 호환됩니다.
아. 메타 문자: 특정 의미를 나타내는 백슬래시 뒤에 오는 알파벳 문자를 메타 문자라고 합니다.
PHP 스크립팅에서 지원되는 다양한 메타 문자가 있으며 아래 설명과 같이 Perl 유형 Regex로 사용됩니다.
Meta character | Description |
. | Single character |
d | A digit character |
D | Non-digit character |
s | white space character e.g. SPACE, NEW LINE, TAB |
S | Non- white space character |
w | A word character |
W | Non-word character |
[aeiou] | Filters the matched character out of the given set |
[^aeiou] | Filters the unmatched character out of the given set |
(set1|set2|set3) | Filters the matched element that matches to any of the given alternatives |
ㄴ. 수정자:
이러한 요소를 사용하면 사용자가 정규 표현식 작업에 추가적인 유연성을 사용할 수 있습니다.Modifier | Description |
g | Finds matchings globally. |
cg | Enable continue global search even after matching fails. |
i | Instructs to perform case insensitive search. |
s | Use the character ‘.’ to search for new line character. |
m | In case of input string containing new line or carriage return character, ‘^’ and ‘$’ are used to match for new line boundary. |
x | Permits to use white space to improve the clarity of the expression. |
o | Restrict the evaluation of the expression to occur only once. |
POSIX 정규식 함수와 유사하게 PHP는 PERL 스타일 정규식과 호환되는 몇 가지 특정 함수도 제공합니다.
주요 기능 중 일부는 다음과 같습니다.
PERL style regexpcompitable function | Description |
preg_match() | Return the first occurrence of the matching pattern. |
preg_match_all() | Return all occurrences of the matching pattern. |
preg_split() | Splits the string input into several elements based on the given regexp pattern as input. |
Preg_quote() | Used to quote the characters of the regex. |
preg_grep() | Used to find all the matching elements from array input. |
preg_replace() | Used to find matching element and replace it with the given replacement. |
아래 예시는 애플리케이션을 보여줍니다
코드 조각은 입력 문자열을 스캔하고 주어진 Regex를 경계로 정의하여 주어진 입력을 여러 요소로 분할하도록 설계되었습니다.
코드:
<?php // Declaring a regex $regex = "([0-9]+)"; // Defining the input string $inputstr = "String_a 1 String_b 2 String_c 3"; //Splitting the input string based on matching regex expression $result = preg_split ($regex, $inputstr); // Displaying result echo $result[0]; echo "\n"; echo $result[1]; echo "\n"; echo $result[2]; echo "\n"; ?>
출력
preg_split() 함수는 '1', '2, '3' 요소가 경계로 표시되어 입력 문자열을 3부분으로 분할했습니다.
위 내용은 PHP 정규식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!