regex 라 이브 러 리
basic_regex
정규 표현 식 에 대해 일반적으로 미리 처리 해 야 한다. 예 를 들 어 문법 오 류 를 검사 하고 적당 한 최적화 등 이다.basic_regex 대상 은 표현 식 을 전문 적 으로 처리 한 다음 에 일치, 찾기, 교체 작업 을 제공 합 니 다.basic_regex 의 주요 구 조 는 다음 과 같다.
namespace boost { template
flag_type flags() const; //대소 문자 무시, Perl 문법 등 설정 에 대한 마스크 를 되 돌려 줍 니 다.
basic_string
typedef basic_regex
일반적으로 basic regex 에 대한 조작 은 하나의 대상 을 구성 하 는 것 일 뿐 입 니 다. basic string 과 밀접 한 관 계 를 가지 기 때문에 구조 안의 string 을 구성 할 때 종류 가 많 습 니 다. 매 뉴 얼 을 찾 아 보면 알 수 있 습 니 다.
정규 표현 식 은 많은 간단 한 패턴 일치 알고리즘 과 달리 모든 일치 도 찾 을 수 있 고 하위 표현 식 의 일치 도 생 성 할 수 있 습 니 다. 모드 에서 괄호 (...) 로 정 의 된 모든 하위 표현 식 입 니 다. 하위 표현 식 의 일치 결 과 를 사용자 에 게 보고 하 는 방법 이 필요 합 니 다. 이것 은 정의 클래스
match_results
(하위 표현 식 과 일치 하 는 질서 있 는 집합) 입 니 다.모든 하위 표현 식 매 칭 은 하나의 sub_match
유형의 대상 에 포함 되 어 있 습 니 다.match_result
템 플 릿 클래스
match_results
는 정규 표현 식 이 결 과 를 나타 내 는 문자 배열 의 집합 을 표시 합 니 다. match_results
클래스 의 대상 은 알고리즘 regex_match
과 regex_search
에 전송 되 고 교체 기 regex_iterator
에 의 해 되 돌아 갑 니 다. 집합 된 저장 공간 은 필요 할 때 클래스 match_results
의 구성원 함수 에 의 해 신청 되 고 방출 됩 니 다.보통 typedef 를 사용 한 다음 중 하나 입 니 다.
typedef match_results<const char*> cmatch;
typedef match_results<const wchar_t*> wcmatch;
typedef match_results<string::const_iterator> smatch;
typedef match_results<wstring::const_iterator> wsmatch
match results 의 사용 은 매우 기술 이 필요 합 니 다. 서로 다른 하위 표현 식 은 서로 다른 시각 에 얻 은 결과 가 다 를 수 있 습 니 다. 구체 적 인 예 시 를 참고 하 십시오.
regex match 템 플 릿 함수
나 는 그것 의 성명 을 열거 하지 않 았 다. 왜냐하면 리 셋 버 전이 너무 많 기 때문이다. (뒤의 자유 함수 상황 은 유사 하 다)일치 하면 true 로 돌아 갑 니 다. 일치 하 는 의미 에 주의 하 십시오. 전체 입력 문자열 이 정규 표현 식 과 일치 할 때 만 결과 가 진실 입 니 다. 하위 문자열 만 필요 하 다 면 regex search 를 사용 하 십시오. 많은 사람들 이 처음 사용 할 때 regex match 의 뜻 을 오해 합 니 다. 정확히 말 하면 정규 표현 식 언어 에서 언급 한 일치 성 은 regex search 에 대응 합 니 다. regex match 는 일치 하 는 결 과 를 되 돌려 주기 위해 match results 를 지정 할 수 있 습 니 다.
regex match 는 보통 포맷 검사 에 사 용 됩 니 다.
regex_search
이것 은 양 방향 교체 기 가 지정 한 범위 내 에서 주어진 정규 표현 식 을 검색 합 니 다. true 를 되 돌려 주 는 것 이 존재 합 니 다. regex match 와 마찬가지 로 match results 대상 을 지정 하여 결 과 를 저장 할 수도 있 습 니 다. regex search 를 사용 하 는 목적 은 일치 하 는 데 이 터 를 가 져 오 는 것 과 함께 match results 를 사용 하 는 것 을 피 할 수 없습니다. 또한 입력 문자열 을 사용 하 는 것 은 교체 기 입 니 다. s 를 사용 하 는 것 보다tring 이나 포인터 의 리 셋 버 전이 더 흔 합 니 다. while 순환 을 통 해 모든 일치 하 는 결 과 를 찾 을 수 있 습 니 다!
regex_replace
교 체 는 세 개의 regex 함수 중 가장 간단 한 것 입 니 다. 일반적인 상황 에서 교 체 된 표현 식 을 사용 하 는 것 은 검색 처럼 복잡 하지 않 습 니 다.
regex 라 이브 러 리 소결
나 는 이 장 을 대충 끝 냈 다. 왜냐하면 나 는 정규 표현 식 에 익숙 하지 않 고 실제로 사용 한 적 이 없 기 때문이다. 이 장 에는 두 가지 중요 한 함수 가 언급 되 지 않 았 다. regex iterator, regex token iterator.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.