정규 표현 식(정규 표현 식)
4277 단어 정규 표현 식
쉽게 말 하면 정규 표현 식(Regular Expression)은 문자열 과 일치 하 는 언어 입 니 다.
정규 표현 식 은 문자열 이 일치 하 는 패턴 을 설명 합 니 다.문자열 에 피 드 문자열 이 있 는 지 확인 하고 일치 하 는 하위 문자열 에 대해'추출'또는'교체'작업 을 할 수 있 습 니 다.
2.정규 표현 식 의 응용
정규 표현 식 은 실제 개발 과정 에서 매우 실 용적 이 고 복잡 한 문자열 처리 문 제 를 신속하게 해결 할 수 있 습 니 다.다음은 정규 표현 식 의 응용 에 대해 간단 한 분 류 를 하 겠 습 니 다.
첫 번 째:데이터 검증
예 를 들 어 하나의 문자열 이 정확 한 EMail,Telphone,Ip 인지 검증 하려 면 정규 표현 식 을 사용 하면 매우 편리 합 니 다.
두 번 째:내용 찾기
예 를 들 어 웹 페이지 의 그림 을 캡 처 하려 면탭 을 찾 아야 합 니 다.이 럴 때 정규 표현 식 으로 정확하게 일치 할 수 있 습 니 다.
세 번 째:내용 교체
예 를 들 어 핸드폰 번호 가운데 네 분 을 숨 기 고 이런 모드 로 바 꾸 려 면 123***4567 입 니 다.그러면 정규 표현 식 을 사용 하 는 것 도 매우 편리 합 니 다.
3.정규 표현 식 에는 어떤 내용 이 있 습 니까?
다음은 정규 표현 식 을 간단하게 소개 하 겠 습 니 다.
1.정규 표현 식 의 몇 가지 중요 한 개념
•하위 표현 식:정규 표현 식 에서"()"로 묶 은 내용 을 사용 하면"하위 표현 식"이 라 고 합 니 다.
•캡 처:하위 표현 식 이 일치 하 는 결 과 는 버퍼 에 시스템 에 놓 여 있 습 니 다.이 과정 을'캡 처'라 고 합 니 다.
•역방향 참조:우 리 는""를 사용 합 니 다.그 중에서 n 은 숫자 입 니 다.이전 버퍼 간 의 내용 을 참조 하 는 것 을 의미 합 니 다.우 리 는"역방향 참조"라 고 부 릅 니 다.
2.수량 한정 부적
•X+는 1 개 이상
•X*는 0 개 이상
•X? 0 또는 1 개
n 개
•X{n,}표시:최소 n 개
•X{n,m}은 n~m 개,탐욕 원칙 은 가능 한 한 여러 개 와 일치 합 니 다.뒤에 추가 하면?비 탐욕 원칙
주:X 는 찾 을 문 자 를 표시 합 니 다.
3.문자 한정 문자
•\d 는 숫자 문자 와 일치 합 니 다.[0-9]
•\D 표시:비 숫자 문자 와 일치 합 니 다.[^0-9]
•\w 는 밑줄 을 포함 한 단어 문자 와 일치 합 니 다.[0-9a-zA-Z]
•\W 표시:단어 가 아 닌 문자 와 일치 합 니 다.[^0-9a-zA-Z]
•\s 표시:공백 문자,빈 칸,리 턴,탭 문자 와 일치 합 니 다.
•\S 표시:공백 문자 가 아 닌 문자 와 일치 합 니 다.
•. 표시:모든 단일 문자 와 일치 합 니 다.
그 밖 에 다음 과 같은 몇 가지 가 있다.
범위 문자:[a-z],[A-Z],[0-9],[0-9a-z],[0-9a-zA-Z]
임의의 문자:[abcd],[1234]
포함 되 지 않 은 문자:[^a-z],[^0-9],[^abcd]
4.포 지 셔 닝 문자
•^표시:시작 표지
•$표시:끝 표지
•\b 단어 경계
단어 경계
5.전의 부적
특수 문자
6、일치 하 는 부적 선택
•|여러 규칙 과 일치 할 수 있 습 니 다.
7.특수 용법
•(?=) : 정방 향 예비 검사:지정 한 내용 으로 끝 나 는 문자열 과 일치 합 니 다.
•(?!) : 역방향 예비 검사:지정 한 내용 으로 끝 나 는 문자열 과 일치 하지 않 습 니 다.
•(?:) : 일치 하 는 문자 의 내용 을 버퍼 에 두 지 않 습 니 다.
4.정규 표현 식 이 자바 script 에서 의 사용 방법
자바 script 에서 정규 표현 식 을 사용 하 는 방법 은 두 가지 가 있 습 니 다.
첫 번 째 방법:RegExp 류 사용
제공 하 는 방법 은 다음 과 같다.
•test(str):문자열 에 일치 하 는 패턴 의 문자열 이 있 는 지,true/false 를 되 돌려 줍 니 다.
•exec(str):일치 하 는 패턴 에 맞 는 문자열 을 되 돌려 줍 니 다.있 으 면 해당 문자열 을 되 돌려 줍 니 다.없 으 면 null 을 되 돌려 줍 니 다.
//정규 표현 식 에 하위 표현 식 이 있 으 면 exec 방법 을 사용 할 때
//되 돌아 오 는 것 은 result[0]=일치 하 는 결과,result[1]=하위 표현 식 1 의 일치 하 는 결과 입 니 다.
두 번 째 방법 은 String 클래스 를 사용 하 는 것 입 니 다.
제공 하 는 방법 은 다음 과 같다.
•search:일치 하 는 패턴 의 문자열 이 나타 난 위 치 를 되 돌려 줍 니 다.없 으 면 되 돌려 줍 니 다-1
•match:일치 하 는 패턴 에 맞 는 문자열 을 되 돌려 줍 니 다.있 으 면 배열 을 되 돌려 줍 니 다.없 으 면 null 을 되 돌려 줍 니 다.
•replace:일치 하 는 패턴 에 맞 는 문자열 을 바 꿉 니 다.
•split:문자열 이 일치 하 는 패턴 을 구분자 로 구분 하여 배열 로 되 돌려 줍 니 다.
5.정규 표현 식 이 PHP 에서 의 사용 방법
PHP 에는 정규 표현 식 을 사용 하 는 두 가지 함수 가 있 습 니 다.
첫 번 째 는:Perl 정규 표현 식 함수
제공 하 는 방법 은 다음 과 같다.
•preg_grep -- 패턴 과 일치 하 는 배열 셀 을 되 돌려 줍 니 다.
•preg_match_all--전역 정규 표현 식 일치 진행
•preg_match--정규 표현 식 일치 진행
•preg_quote--전의 정규 표현 식 문자
•preg_replace_callback-정규 표현 식 검색 및 교체 함수 로 실행
•preg_replace--정규 표현 식 검색 및 교체 실행
•preg_split--정규 표현 식 으로 문자열 분할
두 번 째 는 POSIX 정규 표현 식 함수 입 니 다.
제공 하 는 방법 은 다음 과 같다.
•ereg_replace--정규 표현 식 교체
정규 표현 식 일치
•eregi_replace--대소 문자 구분 없 이 정규 표현 식 바 꾸 기
•eregi--대소 문 자 를 구분 하지 않 는 정규 표현 식 일치
•split--정규 표현 식 으로 문자열 을 배열 로 나 눕 니 다.
•spliti -- 정규 표현 식 으로 대소 문 자 를 구분 하지 않 고 문자열 을 배열 로 나 눕 니 다.
•sql_regcase -- 크기 구분 없 이 일치 하 는 정규 표현 식 생 성
총화
정규 표현 식 은 우리 가 어떤 기능 을 실현 하 는 도구 입 니 다.이 도구:
1.기능 이 강하 다
정규 표현 식 에서 각종 한정 문자 의 서로 다른 조합 은 서로 다른 기능 을 실현 할 수 있 습 니 다.때로는 복잡 한 기능 을 실현 하려 면 긴 정규 표현 식 을 만들어 야 합 니 다.어떻게 정확하게 일치 할 수 있 는 지 프로그래머 의 능력 을 시험 해 야 합 니 다.
2.간결 하고 편리 함
보통 문자열 내용 을 찾 고 있 습 니 다.특정한 문자열 만 찾 을 수 있 지만 정규 표현 식 은 모호 한 검색 을 도와 주 고 빠 르 고 편리 하 며 정규 표현 식 문자열 만 필요 합 니 다.
3.각종 언어 지원
현재 JAVA,PHP,Javascript,C\#,C++등 주류 언어 는 정규 표현 식 을 지원 합 니 다.
4.학습 이 간단 하고 응용 이 깊다
정규 표현 식 을 배 우 는 것 은 빠 르 고 간단 하지만 실제 개발 에서 효율 적 이 고 정확 한 정규 표현 식 을 만 드 는 데 는 오 랜 시도 와 축적 이 필요 합 니 다.
빠 른 입문 을 원한 다 면 이 글 을 보 는 것 을 추천 합 니 다.
정규 표현 식 30 분 입문 강좌
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.