>백엔드 개발 >Golang >MongoDB의 기본 패키지를 사용하여 대소문자를 구분하지 않고 부분 정규식 일치를 어떻게 달성할 수 있습니까?

MongoDB의 기본 패키지를 사용하여 대소문자를 구분하지 않고 부분 정규식 일치를 어떻게 달성할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-21 17:43:16609검색

How Can I Achieve Case-Insensitive and Partial Regex Matches Using MongoDB's Primitive Package?

MongoDB의 기본 패키지와 Regex 기반 부분 일치

MongoDB로 작업할 때 기본 패키지를 사용하여 사용자 입력에 따라 bson 값을 검색합니다. 유연성과 효율성을 높일 수 있습니다. 그러나 대소문자를 구분하지 않는 일치를 보장하고 부분적인 일치를 처리하는 것은 어려울 수 있습니다.

대소문자를 구분하지 않는 일치:

정규식 일치 항목을 대소문자를 구분하지 않으려면 "i " 기본.Regex 구조체의 옵션 필드에 있는 옵션입니다. 예:

import "github.com/mongodb/mongo-go/bson/primitive"

school := "Havard"
value := primitive.Regex{Pattern: school, Options: "i"}

이 정규식은 이제 "Havard" 및 "havard"와 모두 일치합니다.

부분 일치:

MongoDB의 정규식 지원 본질적으로 하위 문자열과 일치합니다. 따라서 원시적.Regex{Pattern: school}과 같은 정규 표현식은 "havard"를 포함하는 값과도 일치합니다.

특수 문자 처리:

값이 일치하는 경우 특수 정규식 문자(예: . 또는 |)가 포함되어 있으면 regexp.QuoteMeta()로 인용하는 것이 중요합니다. 이렇게 하면 이러한 문자가 정규식 패턴에서 문자 그대로 처리됩니다.

value := primitive.Regex{Pattern: regexp.QuoteMeta(school), Options: "i"}

이러한 기술을 구현하면 MongoDB의 Primitive 패키지 내에서 정규식을 사용하여 대소문자를 구분하지 않고 부분 일치를 효과적으로 수행할 수 있습니다.

위 내용은 MongoDB의 기본 패키지를 사용하여 대소문자를 구분하지 않고 부분 정규식 일치를 어떻게 달성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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