>  기사  >  백엔드 개발  >  내 Regex Negated Set이 Go에서 작동하지 않는 이유는 무엇입니까?

내 Regex Negated Set이 Go에서 작동하지 않는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-26 03:55:27454검색

 Why Isn't My Regex Negated Set Working in Go?

정규식 부정 세트가 Go에서 작동하지 않음

부정 세트가 포함된 정규 표현식이 작동하지 않는 문제가 사용자에게 발생했습니다. Go에서 예상됩니다. 여러 온라인 정규식 파서에서 검증된 이 표현식은 특정 파일 확장자로 끝나지 않는 문자열을 일치시키기 위한 것입니다.

^(.*\.(?!(htm|html|class|js)$))?[^.]

그러나 이 표현식을 Go에서 구현하면 다른 결과가 나왔습니다. 사용자는 부정 세트를 제거하기 위해 표현식을 단순화하고 원하는 일치 항목을 얻었습니다.

문제 이해

Go의 정규 표현식 엔진 RE2는 다음과 같은 탐색 연산자를 지원하지 않습니다. 부정적인 전망?! 원래 표현에 사용되었습니다. 둘러보기 지원이 없기 때문에 부정 세트가 무효화되었습니다.

해결 방법

문자열이 3자 파일 확장자로 끝나도록 하려면 사용자는 다음을 단순화할 수 있습니다. 표현식 to:

\.\w{3}$

이 표현식은 리터럴 마침표, 세 단어 문자(영숫자 및 밑줄), 문자열 끝과 일치합니다. 원래 표현식과 동일한 결과를 효과적으로 달성하지만 둘러보기 연산자에 의존하지 않습니다.

위 내용은 내 Regex Negated Set이 Go에서 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.