Go ApplyAllString Decoded
Go의 InstallAllString 함수를 사용하면 주어진 입력 문자열 내에서 일치하는 하위 문자열을 바꿀 수 있습니다. 다음 코드 조각을 고려하세요.
<code class="go">re := regexp.MustCompile("a(x*)b") fmt.Println(re.ReplaceAllString("-ab-axxb-", "T")) fmt.Println(re.ReplaceAllString("-ab-axxb-", "")) fmt.Println(re.ReplaceAllString("-ab-axxb-", "W")) fmt.Println(re.ReplaceAllString("-ab-axxb-", "W"))</code>
출력:
-T-T- --xx- --- -W-xxW-
설명:
2 . -ab-axxb- $1로 대체됨(RemoveAllString 예)
일치하는 하위 문자열을 정규식의 첫 번째 캡처링 그룹 내용으로 대체합니다. 이 경우 캡처 그룹은 a와 b 사이의 문자와 일치하므로 출력은 -xx-입니다.
3. -ab-axxb- $1W로 대체(RemoveAllString 예)
이 대체는 $1 역참조를 사용하여 일치하는 하위 문자열을 식별하지만 여기에 "W"가 추가됩니다. 그러나 정규식에는 이름이 1W인 캡처링 그룹이 없으므로 $1W 참조는 비어 있습니다. 결과적으로 출력은 ---.
4입니다. -ab-axxb-는 ${1}W로 대체되었습니다(RemoveAllString 예)
이 대체는 이전 것과 유사하지만 역참조($1) 주위에 중괄호를 사용합니다. Expand 설명서에 따르면 중괄호는 역참조가 아닌 변수 참조를 나타내는 데 사용됩니다. 1은 정규식의 변수가 아니므로 출력은 -W-xxW-입니다.
위 내용은 Go의 InstallAllString 함수는 대체 문자열의 역참조 및 변수 참조를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!