정규 표현 식-교체 원칙(.NET)그림

첫머리
최근 에 교 체 된 것 을 자주 사용 하기 때문에 정리 하 러 나 왔 습 니 다.여기 서 공유 하고 자 하 는 것 은 정규 표현 식 의 교체 원칙 입 니 다.먼저 여기 서 언급 한 교체 원칙 은.NET 의 정규 표현 식 의 교체 원칙 입 니 다.먼저 교체 의 정의 교 체 는 교체 모드 에서 만 인식 할 수 있 는 언어 요소 입 니 다.입력 문자열 의 일치 하 는 텍스트 를 바 꾸 기 위해 정규 표현 식 모드 를 사용 합 니 다.교체 모드 는 하나 이상 의 교체 와 본문 문 자 를 포함 할 수 있 습 니 다.사실 개인 총결산 의 교 체 는 대체로 이렇다.교 체 된 내용 은 영원히 원문의 내용 이다.정규 표현 식 을 통 해 텍스트 를 일치 시 키 고 그룹 이름 이나 그룹 번 호 를 통 해 원문의 교 체 를 한다.교 체 된 위 치 는 정규 표현 식 으로 일치 하 는 내용 이다.그리고 저 는 앞에서 정칙 에 관 한 글 을 세 편 썼 습 니 다.최근 에는 내용 을 바 꾸 어 자세히 공유 하 는 데 사 용 했 습 니 다~자,쓸데없는 말 은 그만 하고 본론 으로 들 어가 보 겠 습 니 다~
2.교체 원칙
.NET 아래 표 의 대체 요 소 를 정의 합 니 다:
바꾸다
설명 하 다.
$number
number 로 표 시 된 캡 처 그룹 에 일치 하 는 마지막 문자열 을 포함 합 니 다.number 는 10 진수 입 니 다.
${ name }
대체 문자열 포함(?)지정 한 이름 그룹 에 일치 하 는 마지막 문자열 입 니 다.
$$
대체 문자열 의 단일"$"텍스트 를 포함 합 니 다.
$&
문자열 의 일치 하 는 항목 을 바 꾸 는 복사 본 을 포함 합 니 다.
$`
문자열 의 일치 하 는 항목 을 바 꾸 기 전에 입력 한 문자열 의 모든 텍스트 를 포함 합 니 다.
$'
문자열 의 일치 하 는 항목 을 바 꾼 입력 문자열 의 모든 텍스트 를 포함 합 니 다.
$+
대체 문자열 에서 캡 처 한 마지막 그룹 을 포함 합 니 다.
$_
대체 문자열 의 전체 입력 문자열 을 포함 합 니 다.
①    $number 대체 요소
일련의 예 를 통 해 이러한 정규 표현 식 의 용법 과 교체 원칙 을 설명 한다.우선 우 리 는 하나의 수 요 를 제기 해 야 한다.필요 한 내용 은 일치 하 는 숫자 를 1000 분 의 1 로 일치 시 키 는 것 이다.예 를 들 어 우리 가 현재 입력 한 금액 은 123456789 인 데 어떻게 그것 을 123,456,789 라 는 형식 으로 바 꿀 수 있 습 니까?처음에 제 가 정리 한 내용 을 보면 먼저 우 리 는 3,6 이라는 두 숫자 를 일치 시 킨 다음 에 3 을 3 으로 바 꾸 고 6 을 6 으로 바 꾸 면 원 하 는 효 과 를 얻 을 수 있 습 니 다.그러나 주의해 야 할 것 은 뒤에 이 숫자 와 일치 하 는 전 제 는 뒤에 있 는 숫자 가 반드시 3 개의 숫자 를 그룹 으로 해 야 한 다 는 것 입 니 다.예 를 들 어 3 뒤에 456789,(456)입 니 다.(789)은 두 개의 세 자리 숫자 로 일치 하 는 내용 을 알 고 정규 를 쓰기 시작 했다.우 리 는 단지 하나의 문자 만 그룹 안에 넣 을 뿐이다.그러면(\d)이 숫자 는 한 그룹 또는 여러 그룹의 세 자리 숫자 와 일치 하지 않 는 다.그것 은 0 너비 로 단언 해 야 합 니 다.그러면 뒤의 정규 가 나 옵 니 다(\d)(?=(\)d{3})+(?!\d))정규 표현 식 을 이렇게 다 썼 습 니 다.그 다음 에 분석 과 교 체 를 해 야 합 니 다.정규 표현 식 과 일치 하 는 내용 을 먼저 보 세 요.

위의 그림 은 전체 정규 표현 식 이 일치 하 는 내용 중 하 나 는 일치 하 는 3 이 고 다른 하 나 는 6 임 을 나타 낸다.정규 표현 식 의 모드 를 교체 모드 로 조정 하고 모드 를 바 꾼 후 위의 표 의 첫 번 째 방법 으로 바 꿀 수 있 습 니 다.즉,3,6 을 그룹 번호 0 조 나 1 조 로 나 누 어도 됩 니 다.다음 그림 을 자세히 보 세 요.

사실 여기 서 정리 한 교체 원칙 은 일치 하 는 내용 에 따라 교체 하 는 것 이다.첫 번 째 그림 이 일치 하 는 내용 은 두 그룹 이 있 기 때문에 첫 번 째 조 가 교체 한 내용 은 123,46789 이 고 두 번 째 로 교체 할 때 앞의 교 체 를 바탕 으로 6 을 6 으로 교체 하 는 것 이다.이것 은 내용 이 123,456,789 가 되 었 다.
  ②   ${ name }교체 원칙
위의 정규 표현 식 을 바 꾸 면 됩 니 다.첫 번 째 그룹 에 그룹 번 호 를 할당 하면 전체 정규 표현 식 이 이렇게 됩 니 다.(?)test'\d)(?=(\d{3})+(?!\d)),이것 은 후 교체 의 원칙 이 이렇게 되 는 것 입 니 다.자세 한 내용 은 다음 그림 을 보십시오.원 리 는 모두 같 습 니 다.

  ③    $$일치 요소
$$일치 요 소 는 일치 하 는 내용 에'$'문 자 를 삽입 하 는 것 입 니 다.사실은 개인 적 으로 두 개의$가 뜻 을 바 꾸 는 문자 와 같 습 니 다.메타 문 자 를 일반 문자 로 변환 합 니 다.다음은 우리 가 부동 소수점 숫자 와 일치 하여 부동 소수점 숫자 를 화폐 로 바 꾸 는 것 이 필요 하 다.예 를 들 어 돈 수 는 12.36,15.66,15.56 이라는 정규 표현 식 은 간단 한 편 이다.즉([0-9.]+)다음 과 같은 일치 하 는 내용 을 먼저 살 펴 보 자.다음 그림 과 같다.

일치 하 는 세 그룹의 내용 입 니 다.이것 은 이해 하기 쉬 울 것 입 니 다.아래 의 교체 내용 은 다음 과 같 습 니 다.

  ④  $&대체 요소
$&표 시 된 의 미 는 전체 정규 표현 식 의 일치 하 는 내용,즉 0 조 의 내용 입 니 다.위 와 같은 표현 식 을 개조 하여 앞 에 숫자 5 를 추가 할 수 있 습 니 다.정규 표현 식 은 이렇게 5([0-9.]+)가 되 었 습 니 다.그러면 원래 텍스트 앞 에 도 5 를 추가 하면 많이 변 하지 않 습 니 다.일치 결 과 는 다음 과 같다.

바 꾸 기 를 통 해 다음 결 과 를 얻 을 수 있 습 니 다:

  ⑤    $`$'와 요소 바 꾸 기
이 두 개의 교체 요 소 는 기본적으로 똑 같 습 니 다.하 나 는 앞의 요소 와 일치 하 는 것 입 니 다.하 나 는 뒤의 요소 입 니 다.여 기 는 하나의 예 에 따라 설명 하 겠 습 니 다.예 를 들 어 한 줄 의 문자 에 숫자 와 알파벳 이 포함 되 어 있 기 때문에 이 한 자 를 한자 가 있 는 위치 앞의 내용 으로 바 꾸 려 고 합 니 다.이 럴 때$'를 사용 해 야 합 니 다.예 를 들 어 이 용법 을 살 펴 보 세 요.(아래 그림 참조)($'는 문자열 의 일치 하 는 항목 을 바 꾸 기 전에 입력 한 문자열 의 모든 텍스트 를 포함 합 니 다.)

우리 가 교체 모드 를 열 때,그것 은 전체 표현 식 이 일치 하 는 내용 에 따라 교 체 됩 니 다.먼저 교체 결 과 를 보고 분석 하 겠 습 니 다.

 
상세 한 분석 에 따 르 면 검색 모드 에서 세 개의 내용 이 일치 합 니 다.즉,1,2,3 이라는 세 개의 숫자 입 니 다.먼저 1 이라는 전체 표현 식 이 일치 하 는 내용 을 바 꾸 었 습 니 다.1 을 원문 본 1 앞의 모든 요소 로 바 꾸 었 을 때 전체 문자열 은 aabbaabbccdd2eeff 3 이 되 었 습 니 다.빨간색 의 위 치 는 바 뀌 는 위치 이 므 로 다음 라운드 로 바 꿉 니 다.다음 라운드 에 서 는 2 를 원문 본 으로 교체 합 니 다.여기 서 강조 하 는 것 은 원문 본 이지 지난번 에 교 체 된 내용 이 아 닙 니 다.이때 원문 본 2 의 앞 내용 은 aabb1ccdd2eeff 3 입 니 다.이것 은 교 체 된 내용 입 니 다.aabbaabbccddaabb1ccddeeff 3 입 니 다.이것 은 빨간색 의 위 치 는 교체 2 후의 내용 입 니 다.3.앞의 내용 은 aabb1ccdd2eeff 3 입 니 다.이때 3 을 교체 한 다음 에 이 텍스트 aabbaabbccddaabb1ccddeeffabb1ccdd2eeff 입 니 다.교체 가 완료 되 었 습 니 다.
Ok 분석 은 여기까지 하 겠 습 니 다.다른 원칙 은 다 똑 같 습 니 다.여러분 들 이 직접 분석 해 보 세 요~~,위의 분석 을 통 해.NET 은 더 이상 제 정규 표현 식 교체 가 잘 안 될 까 봐 걱정 하지 않 습 니 다~~~
 
끝 말
       이 같은 분석 내용 에 오류 가 있 으 면 지적 해 주시 기 바 랍 니 다.정 군 은 다시 한 번 감 사 드 립 니 다.여기 서 제 가 말씀 드 리 고 싶 은 것 은 Msdn 안의 자료 가 아직 완전 합 니 다.여러분 이 공부 할 수 있다 면 가장 좋 은 것 은 Msdn 입 니까?

좋은 웹페이지 즐겨찾기