Go에서 정규식 일치 실패
사용자가 Go에서 정규식 패턴이 일치하지 못하는 문제를 경험했습니다. 코드 조각은 정규식 패턴 "^.=b0xA-Fb$" 다음에 "parameter=0xFF" 형식의 문자열을 검증하려고 시도합니다. 그러나 MatchString() 함수는 일치가 성공한 Python과 달리 false와 nil 오류를 반환합니다.
Go 코드 디버깅
문제를 해결하려면, 사용자는 원시 문자열 리터럴을 패턴 문자열로 사용하는 것을 고려해야 합니다. Go에서 원시 문자열 리터럴은 표준 따옴표 ''' 대신 백틱 '`'으로 묶입니다. 이 규칙은 이스케이프 문자 ''가 문자열 내에서 해석되는 것을 방지합니다.
수정된 Go 코드
원시 문자열 리터럴을 사용하여 수정된 Go 코드 is:
package main import ( "fmt" "regexp" ) func main() { var a string = "parameter=0xFF" var regex string = `^.+=\b0x[A-F][A-F]\b$` result, err := regexp.MatchString(regex, a) fmt.Println(result, err) }
예상 출력
원시 문자열 리터럴을 사용한 후 예상 출력은 다음과 같습니다.
true <nil>
이는 다음을 나타냅니다. 입력 문자열이 의도한 대로 원하는 형식과 일치합니다.
위 내용은 내 Go 정규식 일치는 실패하지만 Python은 성공하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!