extract_all()
Egy reguláris kifejezés összes egyezésének lekérése egy forrássztringből. Igény szerint lekérheti az egyező csoportok egy részhalmazát.
print extract_all(@"(\d+)", "a set of numbers: 123, 567 and 789") // results with the dynamic array ["123", "567", "789"]
Elavult aliasok: extractall()
Syntax
extract_all(
Regex,
[captureGroups,
] Forrás)
További információ a szintaxis konvenciókról.
Paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
Regex | string |
✔️ | Egy reguláris kifejezés , amely egy és 16 rögzítési csoportot tartalmaz. |
captureGroups | dynamic |
Egy tömb, amely a kinyerni kívánt rögzítési csoportokat jelzi. Az érvényes értékek a reguláris kifejezésben szereplő rögzítési csoportok számától 1-et tartalmaznak. A nevesített rögzítési csoportok is engedélyezettek. Tekintse meg a példákat. | |
Forrás | string |
✔️ | A keresendő sztring. |
Válaszok
- Ha a regex talál egyezést a forrásban: Dinamikus tömböt ad vissza, beleértve a megadott rögzítési csoportok captureGroups vagy a regex összes rögzítési csoportjának összes egyezését.
- Ha a captureGroups száma 1: A visszaadott tömb egyetlen dimenzióval rendelkezik az egyező értékekből.
- Ha a captureGroups száma meghaladja az 1-et: A visszaadott tömb többértékű egyezések kétdimenziós gyűjteménye captureGroups-kijelölésenként , vagy a regexben található összes rögzítési csoport, ha a captureGroups nincs megadva.
- Ha nincs egyezés:
null
.
Példák
Egyetlen rögzítési csoport kibontása
A következő lekérdezés a GUID hexadecimális bájtos ábrázolását (két hexadecimális számjegyét) adja vissza.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id)
Kimenet
ID (Azonosító) | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | ["82","b8","be","2d","df","a7","4b","d1","8f","63","24","ad","26","d3","14","49"] |
Több rögzítési csoport kibontása
A következő lekérdezés egy reguláris kifejezést használ három rögzítési csoporttal, hogy az egyes GUID-részeket első betűre, utolsó betűre és bármire ossza fel, ami középen van.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", Id)
Kimenet
ID (Azonosító) | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |
Rögzítési csoportok részhalmazának kinyerése
Az alábbi lekérdezés a csoportok rögzítésének egy részhalmazát választja ki.
A reguláris kifejezés megfelel az első betűnek, az utolsó betűnek és az összes többinek.
A captureGroups paraméter csak az első és az utolsó rész kiválasztására szolgál.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", dynamic([1,3]), Id)
Kimenet
ID (Azonosító) | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","d"],["d","7"],["4","1"],["8","3"],["2","9"]] |
Elnevezett rögzítési csoportok használata
A következő lekérdezésben a captureGroups a rögzítési csoport indexeit és a nevesített rögzítési csoporthivatkozásokat is felhasználja az egyező értékek lekéréséhez.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(?P<first>\w)(?P<middle>\w+)(?P<last>\w)", dynamic(['first',2,'last']), Id)
Kimenet
ID (Azonosító) | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: