저는 파이썬에서 왔기 때문에 올바른 방법을 찾고있는 것이 아닙니다. 상당히 복잡한 정규 표현식을 만들고 필드 일치 이름에 액세스 할 수 있어야합니다. 좋은 예를 찾을 수없는 것 같습니다. 가장 가까운 것은 다음과 같습니다.Go 정규식의 명명 된 일치 사용
package main
import (
"fmt"
"regexp"
)
var myExp = regexp.MustCompile(`(?P<first>\d+)\.(\d+).(?P<second>\d+)`)
func main() {
fmt.Printf("%+v", myExp.FindStringSubmatch("1234.5678.9"))
match := myExp.FindStringSubmatch("1234.5678.9")
for i, name := range myExp.SubexpNames() {
fmt.Printf("'%s'\t %d -> %s\n", name, i, match[i])
}
//fmt.Printf("by name: %s %s\n", match["first"], match["second"])
}
주석 처리 된 행은 파이썬에서 명명 된 필드에 액세스하는 방법입니다. 이 작업을 수행하는 동일한 방법은 무엇입니까? 또는 일치 항목을지도로 변환해야하는 경우지도를 만들고 이동하는 데 가장 관용적 인 방법은 무엇입니까? 다음과 같이
첫 번째 제안 된 답변에 아래에 설명을 추가 할 수 없기 때문에지도를 작성하는 데 엄청난 양의 코드가 필요합니다. 지도에서 값에 액세스하는 방법을 보여주기 위해 답을 편집하시는 것이 좋습니다. 예 : \t 결과 : = myExp.FindStringSubmatchMap ("1234.5678.9") \t fmt.Printf ("% s \ n", 결과 [ "second"]) –
'FindStringSubmatchMap'라는 메서드가 없습니다. – chmike