이번에는 정규식(실용요약)을 가져왔습니다. 실제 정규식을 사용할 때 주의사항은 무엇인가요?
정규 표현식은 일반 문자(예: a~z 문자)와 특수 문자(메타 문자라고 함)로 구성된 텍스트 패턴입니다. 패턴은 텍스트 본문을 검색할 때 일치시킬 하나 이상의 문자열을 설명합니다. 정규식은 검색된 문자열과 문자 패턴을 일치시키는 템플릿 역할을 합니다.
아래 편집기는 정규 표현식에 대한 몇 가지 지식 사항을 요약합니다.
1. 메타 문자
[특별한 의미를 지닌 메타 문자]
d -> 9는 [0-9]와 동일하고 그 반대는 D -> 0-9를 제외한 모든 문자와 일치합니다.
w -> 숫자 0-9, a-z, A-Z, _ 또는 [0-에 해당하는 문자와 일치합니다. 9a-zA-Z_]
s -> 공백 문자(공백, 탭...)와 일치합니다.
b -> 단어의 경계와 일치합니다.
n -> newline
.> n을 제외한 모든 문자와 일치
$ -> 메타 문자로 끝남
x|y -> ] -> x, y, z 중 하나
[^xyz] -> xyz 중 하나 제외
[a-z] - > a-z의 모든 문자와 일치
[^a-z] ->
() -> 정규식으로 그룹화
참고:
1) []에 대해 a. [+] -> ] -> 12-65가 아니라 1/2-6/5입니다.
2) ()
정보 a. 그룹화 기능은 기본
우선순위
b. 정규 경기의 내용을 캡처하는 동안 그룹 경기의 내용도 캡처할 수 있습니다. - >그룹 캡처
c. 그룹 참조, 예: /^(d)(w)21$/, 여기서 2는 동일합니다. 1은 첫 번째 그룹과 동일합니다. 예를 들어 "0aa0"은 [수량을 나타내는 수량자 메타문자]
* -> 0 ~ 배수
+ -> ? -> 0 ~ 1
{n,m} -> n ~ m 번 나타남 참고:
1) ?에 대한 몇 가지 상황
a. 비수량자 메타문자 뒤에 넣으세요. 즉, 0~1번 나타납니다. b. 수량자 메타문자 뒤에 넣으세요. 예를 들어, reg=/d+/; reg.exec("2015 ") -> "2015" 하지만 reg=/d+?/;
c. 추가 ?: 그룹 시작 부분에 현재 그룹만 일치함을 의미합니다. 캡처가 수행되지 않습니다. 예:/^(?:d+)$/
d. 그룹 시작 부분에 ?=를 추가합니다. , 정방향 검색(예:/^abcdef(?=1|2)$/ "abcdef1" 및 " abcdef2"만 일치합니다.
[자체 의미를 나타내는 메타 문자]
와 일치합니다. 위의 내용 외에도 리터럴 모드에서 표시되는 다른 문자는 고유한 의미를 나타냅니다. var num=12 ; var reg=/^w"+num+"$/; ->여기서 "+num+"는 변수의 값을 이어붙이지 않고, 여기서는 " 또는 + 이면 메타문자입니다
-> 이어붙여야 하는 분들을 위해 문자열과 변수의 경우 인스턴스 메서드만 사용하여 정규식을 만들 수 있습니다
2, 수식어
i ->ignoreCase는 문자의 대소문자를 무시합니다.
g -> 전역 전역 일치(g를 추가하면 일반 캡처 중 게으름을 해결할 수 있습니다)
m -> 여러 줄 여러 줄 일치
3.
1) 유효한 숫자var reg=/^[+-]?(\d|([1-9]\d+))(\.\d+)?$/;
var reg = /^\w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
var reg = /^1\d{10}$/;
var reg = /^((18|19)|([2-5]\d)|(6[0-5]))$/;
var reg = /^[\u4e00-\u9fa5]{2,4}$/;
var reg = /^(\d{6})(\d{4})(\d{2})(\d{2})(?:\d{2})(\d)(?:\d|X)$/; //-> 12828(省市县) 1990(年) 12(月) 04(日) 06 1(奇数是男偶数是女) 7(数字或者X)
4. 정규 매칭
reg.test([string]) ->true는 매칭 성공 false->실패 매칭을 의미합니다5. 정규 캡처
1)reg.exec([string] ) -> 첫 번째 일치, 일치가 성공하면 캡처하고 일치에 실패하면 null이 반환됩니다. -> 일반 캡처는 게으르고 탐욕적입니다. 게으름 문제를 해결하려면 정규식 끝에 전역 수정자 g
를 추가하세요. -> 탐욕 문제를 해결하려면 수량자 뒤에 ?
를 추가하세요. 이 기사에서 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 기타 관련 기사를 주목하세요!
추천 도서:
정규 패턴 수정자 사용에 대한 자세한 설명정규식의 새로운 기능은 무엇인가요위 내용은 정규식 요약(실용 요약)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!