다음을 통해 공유


RegexMatch(NoSQL 쿼리)

적용 대상: NoSQL

이 함수는 정규식 기능을 제공합니다. 정규식은 텍스트 패턴을 검색하기 위한 간결하고 유연한 표기법입니다.

참고 항목

Azure Cosmos DB for NoSQL은 PERL 호환 정규식(PCRE)을 사용합니다.

구문

RegexMatch(<string_expr_1>, <string_expr_2>, [, <string_expr_3>])  

인수

설명
string_expr_1 검색할 문자열 식입니다.
string_expr_2 string_expr_1을 검색할 때 사용할 정규식이 정의된 문자열 식입니다.
string_expr_3(선택 사항) 정규식(string_expr_2)과 함께 사용할 선택된 한정자가 있는 선택적 문자열 식입니다. 제공되지 않은 경우 기본값은 한정자 없이 정규식 일치를 실행하는 것입니다.

참고 항목

string_expr_3에 빈 문자열을 제공하는 것은 인수를 생략하는 것과 기능적으로 동일합니다.

반환 형식

부울 식을 반환합니다.

예제

다음 예제에서는 몇 가지 다른 한정자를 사용하여 정규식 일치를 보여 줍니다.

SELECT VALUE {
    noModifiers: RegexMatch("abcd", "ABC"), 
    caseInsensitive: RegexMatch("abcd", "ABC", "i"), 
    wildcardCharacter: RegexMatch("abcd", "ab.", ""),
    ignoreWhiteSpace: RegexMatch("abcd", "ab c", "x"), 
    caseInsensitiveAndIgnoreWhiteSpace: RegexMatch("abcd", "aB c", "ix"),
    containNumberBetweenZeroAndNine: RegexMatch("03a", "[0-9]"),
    containPrefix: RegexMatch("salt3824908", "salt{1}"),
    containsFiveLetterWordStartingWithS: RegexMatch("shame", "s....", "i")
}
[
  {
    "noModifiers": false,
    "caseInsensitive": true,
    "wildcardCharacter": true,
    "ignoreWhiteSpace": true,
    "caseInsensitiveAndIgnoreWhiteSpace": true,
    "containNumberBetweenZeroAndNine": true,
    "containPrefix": true,
    "containsFiveLetterWordStartingWithS": true
  }
]

다음 예제에서는 name 필드를 포함한 항목이 있는 컨테이너가 있다고 가정합니다.

[
  {
    "name": "Tecozow coat",
    "category": "winter-coats"
  },
  {
    "name": "Bladnick coat",
    "category": "winter-coats"
  },
  {
    "name": "Anidin heavy jacket",
    "category": "winter-coats"
  }
]

이 예제에서는 정규식 일치를 필터로 사용하여 항목의 하위 집합을 반환합니다.

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.category = "winter-coats" AND    
    RegexMatch(p.name, " coat{1}")
[
  "Tecozow coat",
  "Bladnick coat"
]

설명

  • 이 함수는 정규식을 StartsWith, EndsWith, Contains 또는 StringEquals의 동등한 시스템 함수로 분해할 수 있는 경우에만 범위 인덱스의 혜택을 받습니다.
  • 검색할 문자열 식(string_expr_1), 정규식(string_expr_2) 또는 선택한 한정자(string_expr_3)가 잘못된 경우 undefined를 반환합니다.
  • 이 함수는 다음과 같은 네 가지 한정자를 지원합니다. | | 형식 | 설명 | | --- | --- | --- | | 여러 줄 | m | 검색할 문자열 식을 여러 줄로 처리합니다. 이 옵션이 없으면 ^$는 각 개별 줄이 아니라 문자열의 시작 또는 끝 부분에서 일치합니다. | | 문자열 일치 | s | 줄 바꿈 문자를 포함하여 모든 문자를 일치시키려면 “.”를 사용합니다. | | 대/소문자 무시 | i | 패턴 일치의 경우 대/소문자를 무시합니다. | | 공백 무시 | x | 모든 공백 문자를 무시합니다. |
  • 정규식에서 메타문자를 사용해야 하고 특별한 의미가 없도록 하려면 \를 사용하여 메타문자를 이스케이프해야 합니다.