다음 편집기에서는 정규식의 기본 문법에 대한 자세한 응용 설명을 제공합니다(꼭 읽어야 할 기사). 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리도록 하겠습니다. 에디터를 따라가며 함께 살펴볼까요
1. 정규식의 기본 문법
2개의 특수 기호 '^'와 '$'. 그들의 기능은 각각 문자열의 시작과 끝을 나타내는 것입니다. 예는 다음과 같습니다.
"^The": "The"로 시작하는 모든 문자열을 나타냅니다("There", "The cat" 등).
"of 절망$": "of 절망으로 끝나는 모든 문자를 나타냅니다. " String;
"^abc$": "abc"로 시작하고 끝나는 문자열을 나타냅니다. 하하, "abc" 자체만 있습니다.
"notice": "notice"가 포함된 모든 문자열을 나타냅니다.
마지막 예와 같이 두 개의 특수 문자를 사용하지 않으면 찾으려는 문자열이 검색된 문자열의 어떤 부분에도 있음을 나타내는 것입니다. 즉, 맨 위에 위치하는 것이 아닙니다.
기타 기호로는 '*', '+', '?'가 있는데, 이는 문자 또는 문자 시퀀스가 반복적으로 나타나는 횟수를 나타냅니다. 각각 "없음 또는 그 이상", "한 번 이상" 및 "없음 또는 한 번"을 의미합니다. 다음은 몇 가지 예입니다.
"ab*": 문자열에 a 뒤에 0개 또는 여러 개의 b가 있음을 나타냅니다. ("a", "ab", "abbb",...);
"ab+": 문자열에 a가 하나 이상 있음을 나타냅니다.
"ab?": 문자열을 나타냅니다. a 뒤에 0개 또는 1개의 b가 있습니다.
"a?b+$": 문자열 끝에 0개 또는 1개의 a가 있고 1개 또는 여러 개의 b가 있음을 의미합니다.
반복 범위를 나타내기 위해 중괄호로 묶인 범위를 사용할 수도 있습니다.
"ab{2}": 문자열에 a 뒤에 2개의 b가 있음을 나타냅니다("abb").
"ab{2,}": 문자열에 a 뒤에 최소한 2개의 b가 있음을 나타냅니다.
"ab{3,5}": 문자열에 a 다음에 3~5b가 있음을 나타냅니다.
범위의 하한을 지정해야 합니다(예: "{,2}" 대신 "{0,2}"). 또한 '*', '+' 및 '?'는 "{0,}", "{1,}" 및 "{0,1}"과 동일하다는 것을 알 수 있습니다.
"또는" 연산을 의미하는 '¦'도 있습니다.
"hi¦hello": 문자열에 "hi" 또는 "hello"가 있음을 의미합니다.
"(b¦cd)ef": "bef" 또는 "cdef"를 의미합니다.
"(a¦b)*c": "a"와 "b" 뒤에 "c"가 오는 혼합 문자열을 나타냅니다.'
"a.[0-9]": 문자열에 "a" 뒤에 임의의 문자와 숫자가 있음을 나타냅니다.
"^.{3}$": 세 문자로 구성된 문자열을 나타냅니다. 길이는 3자입니다.)
대괄호는 특정 문자가 문자열의 특정 위치에 나타날 수 있음을 나타냅니다.
"[ab]": 문자열에 "a" 또는 "b"가 있음을 나타냅니다. to "a¦b");
"[a-d]": 문자열에 소문자 'a' ~ 'd' 중 하나가 포함되어 있음을 나타냅니다("a¦b¦c¦d" 또는 "[abcd ]"와 동일). ;
"^[a-zA-Z]": 문자로 시작하는 문자열을 나타냅니다.
"[0-9]%": 백분율 기호 앞에 있는 숫자를 나타냅니다. -zA-Z0-9]$": 문자열이 쉼표로 끝나고 그 뒤에 문자나 숫자가 오는 것을 나타냅니다.
대괄호 안에 '^'를 사용하여 원하지 않는 문자를 나타낼 수도 있습니다. '^'는 대괄호 안의 첫 번째 문자여야 합니다. (예: "%[^a-zA-Z]%"는 두 개의 퍼센트 기호 사이에 문자가 나타나지 않아야 함을 의미합니다.)
그대로 표현하려면 "^.$()¦*+?{" 문자 앞에 이스케이프 문자 ''를 추가해야 합니다.
대괄호 안에는 이스케이프 문자가 필요하지 않습니다.
2. 정규식 확인은 텍스트 상자의 입력 문자 유형을 제어합니다
1. 숫자와 영어만 입력할 수 있습니다:
2. 숫자만 입력할 수 있습니다:
3. 전각만 가능 문자를 입력할 수 있습니다 :
4. 한자만 입력할 수 있습니다:
3. 정규식 응용예제 인기 설명
//전체가 숫자로만 구성되어 있는지 확인
/^[0 -9 ]{1,20}$/
^은 ^
$ 바로 다음에 시작 문자가 규칙과 일치해야 함을 의미합니다. 시작 문자는 $
[ ] 직전에 규칙과 일치해야 함을 의미하며 선택적 문자 집합입니다.
[0-9]는 필수 문자 범위가 0~9임을 의미합니다.
{1,20}은 숫자 문자열의 합법적인 길이가 1~20, 즉 문자 발생 횟수의 범위임을 의미합니다. [0-9]는 1~20번입니다.
/^ 및 $/는 문자열의 하위 문자열만 일치시키는 것이 아니라 전체 문자열이 정의된 규칙과 완전히 일치해야 함을 나타내기 위해 쌍으로 사용해야 합니다.
//로그인 이름 확인: 숫자, "_", "."를 포함하여 문자로 시작하는 5~20개의 문자열만 입력할 수 있습니다.
/^[a-zA-Z]{1}([ a-zA -Z0-9]|[._]){4,19}$/
^[a-zA-Z]{1}는 첫 번째 문자가 문자여야 함을 의미합니다.
([a-zA-Z0-9]|[._]){4,19}는 길이가 4~9자리 문자열인 두 번째 숫자(이전 표현식 바로 뒤에 오기 때문에)부터 시작한다는 의미입니다. 대문자, 소문자, 숫자 또는 특수문자 집합[._]으로 구성되어야 합니다.
//사용자 이름 확인: 문자로 시작하는 1~30자까지만 입력 가능
/^[a-zA-Z]{1,30}$/
//비밀번호 확인: 6~20자만 입력하세요 문자, 숫자 및 밑줄
/^(w){6,20}$/
w: 문자, 숫자 또는 밑줄 문자를 일치시키는 데 사용됩니다
//일반 전화 및 팩스 번호 확인: OK "+로 시작합니다. " 또는 숫자이며 "-" 및 "
/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ] )를 포함할 수 있습니다. {1,12})+$/
d: 0에서 9까지의 숫자를 일치시키는 데 사용됩니다.
"?" 메타 문자는 다음과 같은 문자열과 일치하기 위해 선행 객체가 대상 객체
에 0번 또는 한 번 나타나야 함을 규정합니다. +123 -999 999; 123 999 999; +123 999999 등
//URL 확인
/^http[s]{0,1}://.+ $/ 또는 / ^http[s]{0,1}://.{1,n}$/ (url 문자열의 길이가 length(“https://”) + n임을 나타냄)
/: 문자를 나타냄 " /".
. 모든 문자 집합을 나타냅니다.
+는 1부터 양의 무한대까지의 {1,}과 동일합니다.
4. 정규식 적용(공통 부분)
"^d+$" //음수가 아닌 정수(양의 정수 + 0)
"^[0-9]*[1-9] [0-9]*$" //양의 정수
"^((-d+)|(0+))$" //양이 아닌 정수(음의 정수 + 0)
"^-[0-9 ] *[1-9][0-9]*$" //음의 정수
"^-?d+$" //정수
"^d+(.d+)?$" //음이 아닌 부동 소수점 숫자 (양수 부동 소수점 + 0)
"^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1- 9][ 0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$" //양수 부동 소수점 숫자
"^( (-d+( .d+)?)|(0+(.0+)?))$" //양수가 아닌 부동 소수점 수 (음의 부동 소수점 수 + 0)
"^(-(([0- 9]+.[0- 9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)| ([0-9]* [1-9][0-9]*)))$" //부동소수점수
"^(-?d+)(.d+)?$" //부동소수점수
"^[A-Za- z]+$" //영문 26자로 구성된 문자열
"^[A-Z]+$" //영문 대문자 26자로 구성된 문자열
"^[a-z] +$" / /영문 소문자 26자로 구성된 문자열
"^[A-Za-z0-9]+$" //숫자와 영문 26자로 구성된 문자열
"^w+$" // A 숫자, 영문 26자 또는 밑줄로 구성된 문자열
"^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$" // 이메일주소
"^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$" //url
/^( d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1- 9]{ 1}))|(3[0|1]))$/ // 연-월-일
/^((0([1-9]{1}))|(1[1| 2]) )/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 월 /일/ 연도
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1, 3}. )|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" // 에밀
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //전화번호
" ^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[ 0-5 ]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d| 25[0 -5])$" //IP 주소
^([0-9A-F]{2})(-[0-9A-F]{2}){5}$ //MAC 주소 정규식
^[-+]?d+(.d+)?$ //값형 정규식
위 내용은 정규식의 기본 구문에 대한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!