정규 표현식 구문 분석 오류: 잘못된 Perl 구문 - 문제 이해 및 해결 방법 찾기
정규 표현식 "^(? !On.*On\s. ?write:)(On\s(. ?)write:)$" Go에서 일반적인 오류가 발생했습니다. is:
error parsing regexp: invalid or unsupported Perl syntax: (?!
이 오류는 Go가 (?!.
탐색 구문 이해
정규식에서 탐색은 조건을 지정하지 않고 조건을 주장하는 메타 문자입니다. (?!로 표시되는 부정 예측은 다음 표현식이 현재 위치에서 일치하지 않아야 함을 나타냅니다.Go Regex 해결 방법
Go는 둘러보기를 지원하지 않으므로 위의 정규 표현식을 직접 사용할 수 없습니다. 대신 여러 정규 표현식과 조건부 검사를 사용하는 해결 방법은 다음과 같습니다. 필수:r1 := regexp.MustCompile(`^On\s(.+?)wrote:$`) r2 := regexp.MustCompile(`^On.*On\s.+?wrote:`) match1 := r1.MatchString(inputString) match2 := r2.MatchString(inputString) if match1 && !match2 { // The string does not contain "On ... On" but contains "On ..." // Handle match }
r := regexp.MustCompile(`^On(.*On)?\s.+?wrote:`) match := r.FindStringSubmatch(inputString) if match != nil { // Handle match if match[1] != "" { // Group 1 ends with "On" } }
추가 참고사항
위 내용은 Go 정규 표현식에서 Lookaround를 어떻게 해결하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!