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ések a szövegminták megtalálásához.
Megjegyzés
Az Azure Cosmos DB for NoSQL PERL-kompatibilis reguláris kifejezéseket (PCRE) használ.
Szintaxis
RegexMatch(<string_expr_1>, <string_expr_2>, [, <string_expr_3>])
Argumentumok
Description | |
---|---|
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ésselstring_expr_2 () használandó kijelölt módosítókkal. Ha nincs megadva, az alapértelmezett az, hogy módosítók nélkül futtassa a reguláris kifejezésegyezést. |
Megjegyzés
Az üres sztring string_expr_3
megadása funkcionálisan egyenértékű az argumentum kihagyásával.
Visszaadott 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 feltételezi, hogy van egy tárolója, amely tartalmaz egy mezőt is tartalmazó name
elemeket.
[
{
"name": "Tecozow coat",
"category": "winter-coats"
},
{
"name": "Bladnick coat",
"category": "winter-coats"
},
{
"name": "Anidin heavy jacket",
"category": "winter-coats"
}
]
Ez a példa egy normál 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 , ,
EndsWith
Contains
vagyStringEquals
azzal egyenértékű rendszerfüggvényreStartsWith
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ót támogatja: | | Formátum | Leírás | | --- | --- | --- | | Több sor |
m
| A keresendő sztringkifejezést több sorként kezelje. E lehetőség nélkül a karakterlánc elején vagy végén lévő karakterek^
és$
egyezések, nem pedig az egyes sorok. | | Bármely sztring |s
egyeztetése | Engedélyezze a "." karaktert bármely karakternek, beleértve a newline karaktert is. | | Kis- és nagybetűk |i
mellőzése | Hagyja figyelmen kívül a kis- és nagybetűk használatát a mintaegyeztetés során. | | Térköz |x
figyelmen kívül hagyása | Hagyja figyelmen kívül az összes szóközkaraktert. | - 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.