RegexMatch (NoSQL-lekérdezés)
A KÖVETKEZŐRE VONATKOZIK: NoSQL
Ez a függvény rendszeres kifejezési képességeket biztosít. A reguláris kifejezések tömör és rugalmas jelölést jelentenek a szövegminták megtalálásához.
Feljegyzés
Az Azure Cosmos DB for NoSQL PERL-kompatibilis reguláris kifejezéseket (PCRE) használ.
Syntax
RegexMatch(<string_expr_1>, <string_expr_2>, [, <string_expr_3>])
Argumentumok
Leírás | |
---|---|
string_expr_1 |
Keresendő sztringkifejezés. |
string_expr_2 |
A kereséshez string_expr_1 használandó reguláris kifejezéssel rendelkező sztringkifejezés. |
string_expr_3 (Nem kötelező) |
Választható sztringkifejezés a reguláris kifejezéssel (string_expr_2 ) használandó kijelölt módosítókkal. Ha nincs megadva, az alapértelmezett beállítás az, hogy módosítók nélkül futtassa a reguláris kifejezésegyezést. |
Feljegyzés
Az üres sztring string_expr_3
megadása funkcionálisan egyenértékű az argumentum kihagyásával.
Visszatérési típusok
Logikai kifejezést ad vissza.
Példák
Az alábbi példa néhány különböző módosító használatával szemlélteti a reguláris kifejezési egyezéseket.
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
}
]
A következő példa azt feltételezi, hogy van egy tárolója, amely tartalmaz egy mezőt is tartalmazó elemeket name
.
[
{
"name": "Tecozow coat",
"category": "winter-coats"
},
{
"name": "Bladnick coat",
"category": "winter-coats"
},
{
"name": "Anidin heavy jacket",
"category": "winter-coats"
}
]
Ez a példa egy reguláris kifejezésegyezést használ szűrőként az elemek egy részhalmazának visszaadásához.
SELECT VALUE
p.name
FROM
products p
WHERE
p.category = "winter-coats" AND
RegexMatch(p.name, " coat{1}")
[
"Tecozow coat",
"Bladnick coat"
]
Megjegyzések
- Ez a függvény csak akkor előnyös a tartományindexből , ha a reguláris kifejezés vagy
StartsWith
,EndsWith
, ,Contains
vagyStringEquals
azzal egyenértékű rendszerfüggvényre bontható. - Visszaadja
undefined
, ha a keresendő sztringkifejezés (string_expr_1
), a reguláris kifejezés (string_expr_2
) vagy a kijelölt módosítók (string_expr_3
) érvénytelenek. - Ez a függvény a következő négy módosító karaktert támogatja: | | Formátum | Leírás | | --- | --- | --- | | Több sor |
m
| A keresendő sztringkifejezést kezelje több sorként. E lehetőség nélkül a karakterek^
és$
az egyezések a sztring elején vagy végén, nem pedig az egyes sorokban. | | Tetszőleges sztring |s
egyeztetése | A "." karakter bármilyen karakternek megfelelhet, beleértve az új vonalas karaktereket is. | | Kis- és nagybetűk |i
mellőzése | A mintaegyezéskor hagyja figyelmen kívül a kis- és nagybetűk használatát. | | Üres tér |x
figyelmen kívül hagyása | Hagyja figyelmen kívül az összes szóköz karaktert. | - Ha egy metakaraktert szeretne használni egy reguláris kifejezésben, és nem szeretné, hogy különleges jelentéssel rendelkezzen, akkor a metakaraktert a használatával
\
kell kikerülnie.