Megosztás a következőn keresztül:


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_1haszná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, , Containsvagy StringEquals 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.