정규 표현 식 초보 튜 토리 얼 7 예제

6076 단어
정규 표현 식 - 예시
단순 표현 식
정규 표현 식 의 가장 간단 한 형식 은 검색 문자열 에서 그 자체 의 일반 문자 와 일치 하 는 것 입 니 다.예 를 들 어 A 와 같은 단일 문자 모드 는 검색 문자열 의 어디 에 나타 나 든 항상 알파벳 A 와 일치 합 니 다.다음은 단일 문자 정규 표현 식 모드 의 예제 입 니 다.
/a/
/7/
/M/

많은 단일 문 자 를 조합 하여 큰 표현 식 을 만 들 수 있 습 니 다.예 를 들 어 다음 정규 표현 식 은 단일 문자 표현 식 을 조합 했다. a, 7, M.
/a7M/

직렬 연산 자가 없습니다.한 글자 뒤에 다른 문 자 를 입력 해 야 합 니 다.
문자 일치
문장 (.) 은 문자열 의 각종 인쇄 나 비 인쇄 문자 와 일치 하 며 한 글자 만 예외 입 니 다.이 예 외 는 줄 바 꾸 기 () 입 니 다.다음 정규 표현 식 은 aac, abc, acc, adc 등 과 일치 하 며 a1c, a2c, a - c 와 a \ # c:
/a.c/

파일 이름 을 포함 하 는 문자열 과 일치 하려 면, 문장 (.) 은 입력 문자열 의 구성 부분 입 니 다. 정규 표현 식 의 문장 앞 에 거꾸로 메 기 (\) 문 자 를 붙 여 주 십시오.예 를 들 어 다음 정규 표현 식 이 filename. ext 와 일치 합 니 다.
/filename\.ext/

이 표현 식 들 은 '모든' 단일 문자 와 만 일치 합 니 다.목록 에 있 는 특정 문자 그룹 과 일치 해 야 할 수도 있 습 니 다.예 를 들 어 숫자 로 표 시 된 장절 제목 (Chapter 1, Chapter 2 등) 을 찾 아야 할 수도 있다.
중 괄호 식
일치 하 는 문자 그룹의 목록 을 만 들 려 면 괄호 ([와]) 에 하나 이상 의 단일 문 자 를 설치 하 십시오.괄호 안에 문자 가 묶 여 있 을 때 이 목록 을 '괄호 식' 이 라 고 합 니 다.다른 위치 와 마찬가지 로 일반 문 자 는 괄호 안에 그 자 체 를 표시 합 니 다. 즉, 입력 텍스트 에 그 자 체 를 한 번 일치 시 킵 니 다.대부분의 특수 문 자 는 괄호 표현 식 에 나타 날 때 의 미 를 잃 습 니 다.그러나 일부 예외 도 있다. 예 를 들 어:
만약] 문자 가 첫 번 째 항목 이 아니라면, 목록 을 끝 냅 니 다.목록 에 있 는] 문 자 를 일치 시 키 려 면 첫 번 째 에 놓 고 시작 [뒤에 바짝 따라 가세 요. \ \ 문 자 는 계속 전의 부호 로 사 용 됩 니 다. \ 문자 와 일치 하려 면 \ \ 를 사용 하 십시오. 괄호 식 에 포 함 된 문 자 는 정규 표현 식 의 이 위치 에 있 는 단일 문자 만 일치 합 니 다. 다음 정규 표현 식 은 Chapter 1, Chapter 2, Chapter 3, Chapter 4, Chapter 5 와 일치 합 니 다.
/Chapter [12345]/

단어 Chapter 와 뒤의 빈 칸 의 위 치 는 괄호 안에 있 는 문자 에 비해 고정 되 어 있 습 니 다. 괄호 표현 식 은 단어 Chapter 와 빈 칸 뒤에 있 는 단일 문자 위치 와 일치 하 는 문자 집합 만 지정 합 니 다. 이것 은 9 번 째 문자 위치 입 니 다.
문자 자 체 를 대체 하여 일치 하 는 문자 그룹 을 표시 하려 면 연결 문자 (-) 를 사용 하여 범위 의 시작 문자 와 끝 문 자 를 분리 하 십시오. 단일 문자 의 문자 값 은 범위 내의 상대 적 인 순 서 를 확인 합 니 다. 아래 의 정규 표현 식 은 범위 표현 식 을 포함 하고 있 으 며, 이 범위 표현 식 은 위 에 표 시 된 괄호 안의 목록 과 같 습 니 다.
/Chapter [1-5]/

이러한 방식 으로 범 위 를 지정 할 때 시작 값 과 끝 값 은 둘 다 범위 내 에 포 함 됩 니 다. 유 니 코드 순 으로 시작 값 은 끝 값 앞 에 있어 야 합 니 다.
괄호 식 에 연결 문 자 를 포함 하려 면 다음 방법 중 하 나 를 사용 하 십시오.
거꾸로 메 어 의 미 를 바꾸다.
[\-]
괄호 목록 의 시작 이나 끝 에 연 결 된 문 자 를 놓 습 니 다. 아래 표현 식 은 모든 소문 자 와 연 결 된 문자 와 일치 합 니 다.
[-a-z]
[a-z-]
범 위 를 만 듭 니 다. 이 범위 에서 시작 문자 값 은 하이픈 보다 작 습 니 다. 끝 문자 값 은 하이픈 보다 같 거나 큽 니 다. 아래 의 두 정규 표현 식 은 모두 이 요 구 를 만족 시 킵 니 다.
[!--]
[!-~]
목록 이나 범위 내 에 있 지 않 은 모든 문 자 를 찾 으 려 면 삽입 기호 (^) 를 목록 의 시작 부분 에 놓 으 십시오. 목록 에 있 는 다른 위치 에 문 자 를 삽입 하면 그 자체 와 일치 합 니 다. 아래 의 정규 표현 식 은 1, 2, 3, 4 또는 5 이외 의 모든 숫자 와 문자 와 일치 합 니 다.
/Chapter [^12345]/

위의 예제 에서 표현 식 은 9 번 째 위치 에서 1, 2, 3, 4 또는 5 이외 의 모든 숫자 와 문 자 를 일치 합 니 다. 예 를 들 어 Chapter 7 은 일치 하 는 항목 이 고 Chapter 9 도 일치 하 는 항목 입 니 다.
위의 표현 식 은 하이픈 (-) 을 사용 하여 표시 할 수 있 습 니 다.
/Chapter [^1-5]/

괄호 식 의 전형 적 인 용 도 는 대문자 나 소문 자 나 숫자 와 일치 하 는 것 을 지정 하 는 것 입 니 다. 아래 표현 식 은 이러한 일치 성 을 지정 합 니 다.
/[A-Za-z0-9]/

대체 및 그룹
바 꾸 기 | 문 자 를 사용 하여 두 개 이상 의 바 꾸 기 옵션 중에서 선택 할 수 있 습 니 다. 예 를 들 어 장 제목 정규 표현 식 을 확장 하여 장 제목 범위 보다 넓 은 일치 항목 을 되 돌려 줄 수 있 습 니 다. 그러나 이것 은 생각 할 수 있 는 것 처럼 간단 하지 않 습 니 다. 일치 하 는 | 문자 의 가장 큰 표현 식 을 바 꿀 수 있 습 니 다.
다음 표현 식 은 줄 의 첫머리 와 줄 의 끝, 뒤에 하나 또는 두 개의 숫자 가 있 는 Chapter 나 Section 과 일치한다 고 생각 할 수 있 습 니 다.
/^Chapter|Section [1-9][0-9]{0,1}$/

안 타 깝 게 도 위의 정규 표현 식 은 줄 의 첫 번 째 단어 인 Chapter 와 일치 하거나 줄 의 끝 에 있 는 단어 Section 과 그 다음 에 있 는 모든 숫자 와 일치 합 니 다. 문자열 이 Chapter 22 라면 위의 표현 식 은 단어 Chapter 와 만 일치 합 니 다. 문자열 이 Section 22 라면 이 표현 식 은 Section 22 와 일치 합 니 다.
정규 표현 식 을 쉽게 제어 하려 면 괄호 를 사용 하여 대체 범 위 를 제한 할 수 있 습 니 다. 즉, 두 단어 Chapter 와 Section 에 만 사용 할 수 있 도록 합 니 다. 단, 괄호 는 하위 표현 식 을 만 드 는 데 도 사용 되 며, 나중에 사용 할 수 있 도록 캡 처 할 수 있 습 니 다. 이 점 은 역방향 참조 절 에 설명 합 니 다. 위의 정규 표현 식 의 적당 한 위치 에 괄호 를 추가 합 니 다.이 정규 표현 식 을 Chapter 1 이나 Section 3 과 일치 시 킬 수 있 습 니 다.
다음 정규 표현 식 은 Chapter 와 Section 을 괄호 로 조합 하여 표현 식 이 올 바 르 게 작 동 하도록 합 니 다.
/^(Chapter|Section) [1-9][0-9]{0,1}$/

이 표현 식 들 은 정상적으로 작 동 하지만 Chapter | Section 주위 의 괄호 는 두 개의 일치 하 는 글자 중 하 나 를 나중에 사용 할 수 있 도록 캡 처 합 니 다. 위의 표현 식 에는 괄호 가 하나 밖 에 없 기 때문에 캡 처 된 '하위 일치 항목' 만 있 습 니 다.
위의 예제 에 서 는 단어 Chapter 와 Section 사이 의 선택 을 괄호 로 조합 해 야 합 니 다. 나중에 사용 할 수 있 도록 일치 하 는 것 을 방지 하려 면 괄호 내 정규 표현 식 모드 전에 놓 으 십시오.: 아래 의 수정 사항 은 하위 일치 항목 을 저장 하지 않 고 같은 능력 을 제공 합 니 다.
/^(?:Chapter|Section) [1-9][0-9]{0,1}$/

원 문 자 를 제외 하고 두 개의 다른 비 포획 원 문 자 를 만 드 는 것 을 '예측 선행' 이 라 고 합 니 다.일치 하 는 일부 내용 입 니 다. 정방 향 예측 선행 사용? = 지정 합 니 다. 괄호 에 정규 표현 식 모드 와 일치 하 는 시작 점 에 있 는 검색 문자열 과 일치 합 니 다. 역방향 예측 선행 사용?! 지정 합 니 다. 정규 표현 식 모드 와 일치 하지 않 는 문자열 의 시작 점 에 있 는 검색 문자열 과 일치 합 니 다.
예 를 들 어 문서 가 있다 고 가정 하면 이 문 서 는 Windows 3.1, Windows 95, Windows 98, Windows NT 를 가리 키 는 인용 을 포함 하고 있 습 니 다. 더 나 아가 이 문 서 를 업데이트 해 야 한다 고 가정 하면 Windows 95, Windows 98, Windows NT 를 가리 키 는 모든 인용 을 Windows 2000 으로 변경 합 니 다. 다음 정규 표현 식 (이것 은 정방 향 예측 선행 예제 입 니 다)Windows 95, Windows 98, Windows NT 와 일치 합 니 다.
/Windows(?=95 |98 |NT )/

일치 하 는 곳 을 찾 으 면 일치 하 는 텍스트 (예측 선행 에 있 는 문 자 는 포함 되 지 않 음) 를 찾 은 다음 일치 하 는 곳 을 검색 합 니 다. 예 를 들 어 위의 표현 식 이 Windows 98 과 일치 하면 98 이 아 닌 Windows 이후 에 계속 검색 합 니 다.
기타 예시
다음은 정규 표현 식 예제 들 을 보 여 줍 니 다.
정규 표현 식
묘사 하 다.
/\b([a-z]+) \1\b/gi
한 단어 가 연속 으로 나타 나 는 위치.
/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
URL 을 프로 토 콜, 도 메 인, 포트 및 상대 경로 로 해석 합 니 다.
/^(?:Chapter|Section) [1-9][0-9]{0,1}$/
장절 의 위 치 를 정 하 다.
/[-a-z]/
a 부터 z 까지 모두 26 개의 자모 에 - 번 을 더 하 다.
/ter\b/
터미널 과 일치 하지 않 고 chapter 와 일치 할 수 있 습 니 다.
/\Bapt/
aptitude 와 일치 하지 않 고 chapter 와 일치 할 수 있 습 니 다.
/Windows(?=95 |98 |NT )/
윈도 95 나 윈도 98 이나 윈도 NT 와 일치 할 수 있 습 니 다. 일치 하 는 것 을 찾 으 면 윈도 뒤에서 다음 검색 을 시작 합 니 다.
/^\s*$/
빈 줄 일치.
/\d{2}-\d{5}/
두 자리 숫자, 하나의 하이픈 에 다섯 자리 숫자 로 구 성 된 ID 번 호 를 검증 합 니 다.
/<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/
HTML 태그 와 일치 합 니 다.

좋은 웹페이지 즐겨찾기