extract_all()
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()
Syntax
extract_all(
Regex,
[captureGroups,
] Kaynak)
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Gerekli | 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. | |
Kaynak | string |
✔️ | Aranacak dize. |
Döndürülenler
- Regexkaynakta 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.
- CaptureGroups sayısı 1 ise: Döndürülen dizi, eşleşen değerlerin tek bir boyutuna sahiptir.
- CaptureGroups 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 regex'te 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ı
ID | 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 grubunu 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ı
ID | 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 parçaları 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ı
ID | 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ı
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin