Aracılığıyla paylaş


extract_all()

Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini Azure İzleyiciMicrosoft 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"]]