在支援使用模式的 Wrangle 轉換中,可能會需要指定擷取群組。擷取群組是一種模式,用來描述一組構成相符項目的一或多個字元。您可以透過程式在替換值中參照這些相符項目。
基本擷取群組
範例 1
replace col:* on:`{start}(%+) ` with:'First Word\:$1'
相符模式 (on:) 的元素:
參照 | 說明 |
---|---|
{start} | Cloud Dataprep 模式的測試值開始位置參照。 |
(%+) | 符合任何時間的一或多個字元。 附註:圓括號表示這組字元是擷取群組。 |
相符模式中的最後一個字元是空格。 |
符合:在資料集的所有資料欄中,測試值的第一組任意字元直到第一個空格 (第一個字詞)。
取代為:文字值 First Word:
後接第一個擷取群組 ($1
) 的參照,此擷取群組會傳回在測試值中找到的第一個字詞。
範例 2
只要測試值中有空格可以識別第一個字詞的結束位置,前一個範例就可以發揮效用。如果測試值中只有一個字詞,那麼您必須修改 on:
參數值如下:
replace col:* on:`{start}(%+) ( |{end})` with:'First Word\:$1'
在此案例中,第二個擷取群組具有兩個元素:
參照 | 說明 |
---|---|
第二個擷取群組中的第一個字元是空格。 | |
| | 邏輯 OR,也就是說擷取群組符合空格或後面的值,即測試值結束位置參照。 |
{end} | Cloud Dataprep 模式的測試值結束位置參照。 |
範例 3
replace col:* on:`{start}(%+) (%+)( |{end})` with:'Second Word\:$2'
符合:在資料集的所有資料欄中,on:
模式已擴增為納入測試值中的第二個字詞。
取代為:文字值 Second Word:
後接第二個擷取群組 ($2
) 參照,此擷取群組會傳回在測試值中找到的第二個字詞。
Replace 轉換中的美元符號
在 replace
轉換的 with
參數中,美元符號 ($) 是當做逸出字元使用。這個模式會辨識替換字串。
正向及負向先行
您可在規則運算式使用正向及負向先行擷取群組,以擷取依據條件接續或未接續指定擷取群組的內容。
類型 | 運算式範例 | |
---|---|---|
正向先行 |
/q(?u)/ | 僅於後方接續字母 u 時擷取字母 q ,不會擷取字母 u 。 |
負向先行 |
/q(?!u)/ | 僅於後方未接續字母 u 時擷取字母 q ,不會擷取字母 u 。 |