Ruby에서 Go로 코드를 전환할 때 정규식 호환성이 어려울 수 있습니다. Ruby는 PCRE를 사용하는 반면 Go는 Google의 RE2를 사용하므로 개발자는 표현을 조정할 방법이 필요합니다.
구체적으로 일치하는 패턴에서 특정 데이터를 추출할 수 있는 그룹 기능을 캡처하는 것은 어려운 일입니다. Go에서 이 기능을 복제하려면 다음 단계를 수행할 수 있습니다.
예를 들어, 정규식을 사용하여 날짜 문자열에서 연도를 추출하려면 (?P
package main import ( "fmt" "regexp" ) func main() { r := regexp.MustCompile(`(?P<Year>\d{4})-(?P<Month>\d{2})-(?P<Day>\d{2})`) fmt.Printf("%#v\n", r.FindStringSubmatch(`2015-05-27`)) fmt.Printf("%#v\n", r.SubexpNames()) }
이 코드는 다음을 출력합니다.
[]string{"2015", "05", "27"} []string{""}
첫 번째 줄에는 캡처된 값이 순서대로 표시되고 두 번째 줄에는 캡처 그룹 이름이 표시됩니다. 이러한 기술을 사용하면 Go에서도 Ruby와 유사한 캡처 그룹 기능을 얻을 수 있습니다.
위 내용은 Go Regex에서 Ruby의 캡처 그룹 기능을 복제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!