JS 정규 표현 식 사용법 소개
간단 한 소개
쉽게 말 하면 정규 표현 식 은 패턴 일치 와 교체 에 사용 할 수 있 는 강력 한 도구 입 니 다.그 역할 은 다음 과 같 습 니 다.문자열 의 어떤 패턴 을 테스트 합 니 다.예 를 들 어 이 문자열 에 전화번호 모드 나 신용카드 번호 모드 가 있 는 지 입력 문자열 을 테스트 할 수 있 습 니 다.이것 은 데이터 유효성 검증 이 라 고 한다.텍스트 를 바꾸다.문서 에 정규 표현 식 을 사용 하여 특정 문 자 를 표시 한 다음 모두 삭제 하거나 다른 문자 로 바 꿀 수 있 습 니 다.패턴 일치 에 따라 문자열 에서 하위 문자열 을 추출 합 니 다.텍스트 나 입력 필드 에서 특정 문 자 를 찾 을 수 있 습 니 다.
기본 문법
정규 표현 식 의 기능 과 역할 에 대해 초보적인 이 해 를 한 후에 우 리 는 정규 표현 식 의 문법 형식 을 구체 적 으로 살 펴 보 자.
정규 표현 식 의 형식 은 일반적으로 다음 과 같다.
/love/그 중에서'/'경계 부호 사이 에 있 는 부분 은 목표 대상 에서 일치 하 는 모드 입 니 다.사용 자 는 일치 하 는 대상 을 찾 으 려 는 패턴 내용 을'/'경계선 사이 에 넣 으 면 됩 니 다.사용자 가 더욱 유연 하 게 패턴 내용 을 맞 출 수 있 도록 정규 표현 식 은 전문 적 인'메타 문자'를 제공 합 니 다.원 문자 란 정규 표현 식 에서 특별한 의 미 를 가 진 전용 문 자 를 말 하 며,선도 문자(즉 원 문자 앞 에 있 는 문자)가 대상 에 나타 나 는 패턴 을 규정 할 수 있 습 니 다.비교적 자주 사용 하 는 메타 문 자 는'+','*',그리고'?','+'를 포함한다.메타 문 자 는 선도 문 자 를 대상 에 한 번 또는 여러 번 연속 으로 나타 나 야 한다 고 규정 합 니 다."*"메타 문 자 는 선도 문자 가 대상 에 0 회 또는 여러 번 나타 나 야 한다 고 규정 합 니 다."?"메타 문 자 는 선도 대상 이 목표 대상 에서 0 회 또는 한 번 연속 으로 나타 나 야 한다 고 규정 한다.
다음은 정규 표현 식 메타 문자 의 구체 적 인 응용 을 살 펴 보 겠 습 니 다.
/fo+/상기 정규 표현 식 에는'+'원 문자 가 포함 되 어 있 기 때문에 대상 의'fool','fo',또는'football'등 자모 f 뒤에 하나 이상 의 자모 o 문자열 이 연속 으로 나타 날 수 있 음 을 나타 낸다./eg*/상기 정규 표현 식 에는'*'원 문자 가 포함 되 어 있 기 때문에 대상 의'easy','ego',또는'egg'등 알파벳 e 뒤에 0 개 이상 의 알파벳 g 이 연속 으로 나타 나 는 문자열 과 일치 할 수 있 음 을 나타 낸다./Wil?/위 정규 표현 식 에'?'가 포함 되 어 있 기 때 문 입 니 다.원 문 자 는 대상 의'Win'이나'Wilson'등 알파벳 i 뒤에 0 개 또는 1 개의 알파벳 l 이 연속 으로 나타 나 는 문자열 과 일치 할 수 있 음 을 나타 낸다.
몇 글자 가 일치 해 야 할 지 모 를 때 가 있 습 니 다.이러한 불확실 성에 적응 하기 위해 정규 표현 식 은 한정 문자 의 개념 을 지원 합 니 다.이 한정 부 호 는 정규 표현 식 의 주어진 구성 요 소 를 몇 번 이나 나타 내야 일치 하 는 지 지정 할 수 있 습 니 다.
{n}n 은 부정 정수 입 니 다.정확 한 n 회 일치 합 니 다.예 를 들 어'o{2}'는'Bob'의'o'와 일치 할 수 없 지만'food'의 두 o 와 일치 할 수 있 습 니 다.{n,}n 은 비 마이너스 정수 입 니 다.최소 n 회 일치 합 니 다.예 를 들 어'o{2,}'는'Bob'의'o'와 일치 할 수 없 지만'fooood'의 모든 o 와 일치 할 수 있 습 니 다.o{1,}'는'o+'와 같 습 니 다.o{0,}'는'o*'와 같 습 니 다.{n,m}m 와 n 은 모두 비 마이너스 정수 이 며,그 중 n<=m 이다.최소 n 회 일치 하고 최대 m 회 일치 합 니 다.예 를 들 어'o{1,3}'은'foooood'의 세 번 째 o 와 일치 합 니 다.o{0,1}'는'o?'와 같 습 니 다.쉼표 와 두 숫자 사이 에 빈 칸 이 있어 서 는 안 된다 는 것 을 주의 하 세 요.메타 문 자 를 제외 하고 사용 자 는 패턴 이 일치 하 는 대상 에 나타 나 는 빈 도 를 정확하게 지정 할 수 있 습 니 다.예 를 들 어/jim{2,6}/상기 정규 표현 식 은 문자 m 가 일치 하 는 대상 에서 2-6 번 연속 으로 나타 날 수 있 도록 규정 하고 있 기 때문에 상기 정규 표현 식 은 jimmy 나 jimmmmmy 등 문자열 과 일치 할 수 있 습 니 다.
정규 표현 식 을 어떻게 사용 하 는 지 에 대해 초보 적 으로 알 게 된 후에 우 리 는 다른 몇 가지 중요 한 메타 문자 의 사용 방식 을 살 펴 보 자.\s:tab 키 와 줄 바 꿈 을 포함 하여 하나의 스페이스 바 를 일치 시 키 는 데 사용 합 니 다.\S:단일 스페이스 바 를 제외 한 모든 문자 와 일치 합 니 다.\d:0 에서 9 까지 의 숫자 와 일치 하 는 데 사용 합 니 다.\w:알파벳,숫자 또는 밑줄 문자 와 일치 합 니 다.\W:\w 와 일치 하지 않 는 모든 문자 와 일치 합 니 다..:줄 바 꿈 자 를 제외 한 모든 문자 와 일치 합 니 다.
(설명:우 리 는\s 와\S 및\w 와\W 를 서로 역 연산 으로 볼 수 있다)
정규 표현 식 에서 상기 원 문 자 를 어떻게 사용 하 는 지 실례 를 통 해 알 아 보 겠 습 니 다.
/\s+/위 정규 표현 식 은 대상 의 하나 이상 의 빈 칸 문자 와 일치 하 는 데 사용 할 수 있 습 니 다./\d000/만약 에 우리 가 가지 고 있 는 복잡 한 재무 보고서 가 있다 면 우 리 는 상기 정규 표현 식 을 통 해 모든 총액 이 천 위안 에 달 하 는 돈 을 쉽게 찾 을 수 있 습 니 다.위 에서 소개 한 메타 문 자 를 제외 하고 정규 표현 식 에는 또 다른 독특한 전용 문자,즉 포 지 셔 닝 문자 가 있 습 니 다.포 지 셔 닝 부 호 는 일치 하 는 패턴 이 대상 에 나타 나 는 위 치 를 규정 하 는 데 사 용 됩 니 다.비교적 자주 사용 하 는 포 지 셔 닝 부 호 는"^","$","\b"및"\B"를 포함한다."^"포 지 셔 닝 문자 규정 일치 모드 는 대상 문자열 의 시작 에 나타 나 야 합 니 다."$"포 지 셔 닝 문자 규정 일치 모드 는 대상 의 끝 에 나타 나 야 합 니 다."\b"포 지 셔 닝 문자 규정 일치 모드 는 대상 문자열 의 시작 이나 끝 에 있 는 두 경계 중 하나 인"\B"포 지 셔 닝 문 자 는 일치 대상 이 대상 문자열 의 시작 과 끝 두 경계 에 있어 야 합 니 다.즉,일치 하 는 대상 은 대상 문자열 의 시작 도 되 지 않 고 대상 문자열 의 끝 도 되 지 않 습 니 다.마찬가지 로 우 리 는'^'와'$',그리고'\b'와'\B'를 서로 역 연산 의 두 조 의 포 지 셔 닝 문자 로 볼 수 있다.예 를 들 어:/^hell/상기 정규 표현 식 에'^'포 지 셔 닝 문자 가 포함 되 어 있 기 때문에 대상 에'hell','hello'또는'hellhound'로 시작 하 는 문자열 과 일치 할 수 있 습 니 다./A$/위 정규 표현 식 에'$'포 지 셔 닝 문자 가 포함 되 어 있 기 때문에 대상 의'car','bar'또는'ar'로 끝 나 는 문자열 과 일치 할 수 있 습 니 다./\bbom/상기 정규 표현 식 모드 는'\b'포 지 셔 닝 문자 로 시작 하기 때문에 대상 에서'bomb'또는'bom'으로 시작 하 는 문자열 과 일치 할 수 있 습 니 다./man\\b/상기 정규 표현 식 모드 는'\b'포 지 셔 닝 문자 로 끝나 기 때문에 대상 에서'human','woman'또는'man'으로 끝 나 는 문자열 과 일치 할 수 있 습 니 다.사용자 가 더욱 유연 하 게 일치 모드 를 설정 할 수 있 도록 정규 표현 식 은 사용자 가 일치 모드 에서 구체 적 인 문자 에 국한 되 지 않 고 특정한 범 위 를 지정 할 수 있 도록 합 니 다.예 를 들 어/[A-Z]/상기 정규 표현 식 은 A 에서 Z 범위 내 에 있 는 모든 대문자 와 일치 합 니 다./[a-z]/상기 정규 표현 식 은 a 에서 z 범위 내 에 있 는 모든 소문 자 와 일치 합 니 다./[0-9]/상기 정규 표현 식 은 0 에서 9 범위 내 모든 숫자 와 일치 합 니 다./([a-z][A-Z][0-9]+/상기 정규 표현 식 은 알파벳 과 숫자 로 구 성 된 모든 문자열,예 를 들 어'aB0'등 과 일치 합 니 다.
여기 서 사용자 에 게 주의해 야 할 점 은 정규 표현 식 에서"()"문자열 을 조합 할 수 있다 는 것 입 니 다."()"기호 에 포 함 된 내용 은 반드시 목표 대상 에 동시에 나타 나 야 한다.따라서 상기 정규 표현 식 은'abc'와 같은 문자열 과 일치 할 수 없습니다.'abc'의 마지막 문 자 는 숫자 가 아 닌 알파벳 이기 때 문 입 니 다.정규 표현 식 에서 프로 그래 밍 논리 와 유사 한'또는'연산 을 실현 하고 싶다 면 여러 모드 에서 하 나 를 선택 하여 일치 하 는 것 을 선택 하면 파이프 문자'|'을 사용 할 수 있 습 니 다.예 를 들 어/to|too|2/상기 정규 표현 식 은 대상 의"to","too"또는"2"와 일치 합 니 다.정규 표현 식 에는 부정 자'[^]'라 는 비교적 자주 사용 되 는 연산 자가 있 습 니 다.앞에서 소개 한 포 지 셔 닝 문자'^'와 달리 부정 문자'[^]'는 목표 대상 에 모델 에 규정된 문자열 이 존재 하지 않도록 규정 합 니 다.예 를 들 어:/[^A-C]/상기 문자열 은 대상 에서 A,B,C 를 제외 한 모든 문자 와 일치 합 니 다.일반적으로'^'가'[]'에 나타 날 때 부정 연산 자로 간주 된다.한편,'^'가'[]'밖 에 있 거나'[]'가 없 을 때 포 지 셔 닝 문자 로 여 겨 져 야 한다.마지막 으로 사용자 가 정규 표현 식 모드 에 메타 문 자 를 추가 하고 일치 하 는 대상 을 찾 아야 할 때 전의 자'\'를 사용 할 수 있 습 니 다.예 를 들 어/th\*/상기 정규 표현 식 은'The'가 아 닌 대상 의'Th*'와 일치 합 니 다.
정규 표현 식 을 구성 한 후에 수학 표현 식 처럼 값 을 구 할 수 있 습 니 다.즉,왼쪽 에서 오른쪽으로 우선 순위 에 따라 값 을 구 할 수 있 습 니 다.우선 순 위 는 다음 과 같 습 니 다:
1.\전의 부호 2.(),(?:),(?=),[]괄호 와 괄호 3.*,+,?,{n},{n,},{n,m}한정 부 4.^,$,\anymetacharacter 위치 와 순서 5.|"또는"작업
인 스 턴 스 사용
JavaScript 1.2 에 강력 한 기능 을 가 진 RegExp()대상 을 가지 고 있 으 며 정규 표현 식 과 일치 하 는 동작 을 할 수 있 습 니 다.그 중의 test()방법 은 대상 에 일치 하 는 패턴 이 포함 되 어 있 는 지 확인 하고 해당 하 는 true 나 false 로 돌아 갈 수 있 습 니 다.자바 스 크 립 트 를 사용 하여 다음 스 크 립 트 를 작성 하여 사용자 가 입력 한 메 일 주소 의 유효성 을 검증 할 수 있 습 니 다.정규 표현 식 대상 은 정규 표현 식 모드 와 응용 모드 를 나타 내 는 플래그 를 포함 합 니 다.문법 1 re=/pattern/[flags]문법 2 re=new RegExp(pattern),[flags])인자 re 필수 옵션.정규 표현 식 모드 로 할당 할 변수 이름 입 니 다.Pattern 필수 옵션.사용 할 정규 표현 식 모드 입 니 다.문법 1 을 사용 하면'/'문자 로 구분 합 니 다.문법 2 를 사용 하면 따옴표 로 패턴 을 일 으 킵 니 다.Flags 옵션 가능.문법 2 를 사용 하려 면 따옴표 로 flag 를 일 으 켜 야 합 니 다.로 고 는 조합 해서 사용 할 수 있 습 니 다.사용 가능 한 것 은 g(전체 텍스트 에서 나타 난 모든 pattern 찾기)i(대소 문자 무시)m(다 중 줄 찾기)입 니 다.
예시
다음 예제 에 서 는 정규 표현 식 모드 와 관련 표 지 를 포함 하 는 대상(re)을 만 들 고 정규 표현 식 대상 의 용법 을 보 여 줍 니 다.이 예 에서 결과 의 정규 표현 식 대상 으로 match 방법 에 사 용 됩 니 다.
4.567913.위의 내용 을 보고 도 만족 하지 않 는 다 면 여기 서 보 는 것 을 추천 합 니 다정규 표현 식 30 분 입문 강좌손 과 공 부 를 더욱 쉽게 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 판단 수조 네 가지 실현 방법 상세그러면 본고는 주로 몇 가지 판단 방식과 방식 판단의 원리를 바탕으로 문제가 있는지 토론하고자 한다. 예를 들어 html에 여러 개의 iframe 대상이 있으면 instanceof의 검증 결과가 기대에 부합되지 않을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.