extract_all()
Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini✅ Azure İzleyici✅Microsoft Sentinel
Bir kaynak dizeden normal ifade için tüm eşleşmeleri alın. İsteğe bağlı olarak, eşleşen grupların bir alt kümesini alın.
print extract_all(@"(\d+)", "a set of numbers: 123, 567 and 789") // results with the dynamic array ["123", "567", "789"]
Kullanım dışı bırakılan diğer adlar: extractall()
Sözdizimi
extract_all(
regex,
[captureGroups,
] kaynağı)
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
regex | string |
✔️ | Bir ile 16 yakalama grubu arasında bir normal ifade . |
captureGroups | dynamic |
Ayıklanması gereken yakalama gruplarını gösteren bir dizi. Geçerli değerler 1'den normal ifadedeki yakalama gruplarının sayısına kadardır. Adlandırılmış yakalama gruplarına da izin verilir. Örneklere bakın. | |
source | string |
✔️ | Aranacak dize. |
Döndürülenler
- Regex kaynakta bir eşleşme bulursa: Belirtilen yakalama grupları captureGroups veya kayıt defterindeki tüm yakalama gruplarıyla tüm eşleşmeleri içeren dinamik diziyi döndürür.
- CaptureGroup sayısı 1 ise: Döndürülen dizi, eşleşen değerlerin tek bir boyutuna sahiptir.
- CaptureGroup sayısı 1'den fazlaysa: Döndürülen dizi, captureGroups seçimi başına çok değerli eşleşmelerden oluşan iki boyutlu bir koleksiyondur veya captureGroups atlanırsa kayıt defterinde bulunan tüm yakalama gruplarıdır.
- Eşleşme yoksa:
null
.
Örnekler
Tek bir yakalama grubunu ayıklama
Aşağıdaki sorgu GUID'nin onaltılık bayt gösterimini (iki onaltılık basamak) döndürür.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id)
Çıktı
Kimlik | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | ["82","b8","be","2d","df","a7","4b","d1","8f","63","24","ad","26","d3","14","49"] |
Birkaç yakalama grubu ayıklama
Aşağıdaki sorgu, her GUID bölümünü ilk harfe, son harfe ve ortada olan her şeye bölmek için üç yakalama grubu içeren bir normal ifade kullanır.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", Id)
Çıktı
Kimlik | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |
Yakalama gruplarının bir alt kümesini ayıklama
Aşağıdaki sorgu, yakalama gruplarının bir alt kümesini seçer.
Normal ifade ilk harfle, son harfle ve geri kalan tüm harfle eşleşir.
captureGroups parametresi yalnızca ilk ve son bölümleri seçmek için kullanılır.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", dynamic([1,3]), Id)
Çıktı
Kimlik | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","d"],["d","7"],["4","1"],["8","3"],["2","9"]] |
Adlandırılmış yakalama gruplarını kullanma
Aşağıdaki sorgudaki captureGroups, eşleşen değerleri getirmek için hem yakalama grubu dizinlerini hem de adlandırılmış yakalama grubu başvurularını kullanır.
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)
Çıktı
Kimlik | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |