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
| 모든 공백 문자를 무시합니다. | - 정규식에서 메타문자를 사용해야 하고 특별한 의미가 없도록 하려면
\
를 사용하여 메타문자를 이스케이프해야 합니다.