# 在載入指令碼與圖表運算式中使用正則表達式

透過在資料載入指令碼與圖表運算式中使用正則表達式 (regex)，來增強您的分析與資料準備。正則表達式為尋找與取代以文字為基礎的資料，提供了進階、彈性且強大的選項。若要在 Qlik Sense 與 指令碼 介面中使用正則表達式，請使用[可用的指令碼與圖函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/regular-expressions-qlik-analytics.htm#Available)。

## 如何使用正則表達式

正則表達式 (regex) 為進階模式比對提供了廣泛的選項。撰寫正則表達式以指定您想要識別的特定文字模式。例如，您可能想要在較大的自然語言主體中尋找電子郵件地址或網頁 URL 的出現次數。

正則表達式有許多不同的撰寫格式，每種格式都有其專屬的語法規則。可用的正則表達式函數使用 Perl 正則表達式語法。

若要在 Qlik Sense 與 指令碼 介面中使用正則表達式，請使用可用的 regex 指令碼與圖函數。使用這些函數的前提是您對正則表達式的運作方式有基本的了解。如需更多資訊 (包含範例)，請參閱 [可用的函數與範例](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/regular-expressions-qlik-analytics.htm#Available)。

## 使用案例

您可以將正則表達式用於：

* 從包含多個不同元件的文字中擷取並分隔資訊。例如，電子郵件地址、電話號碼、網頁 URL 等。

* 標準化資料的格式。

* 搜尋和/或取代文字。

透過可用的 regex 函數，您可以在載入指令碼中執行下列操作：

* 轉換資料並將其載入以用於分析。

* 驗證資料以確保其遵循格式化與其他合規性標準。

* 識別、遮罩或變更個人識別資訊 (PII)，使其成為適合您分析內容使用者的形式。

* 根據資料是否符合特定文字模式，選擇性地將資料載入應用程式中。

圖表運算式中 regex 函數的使用案例與載入指令碼的使用案例相似。在圖表運算式中使用這些函數還可讓您：

* 根據使用者需求與互動，有條件或靜態地即時轉換資料。

* 使用這些函數來定義標籤、色彩設定與其他圖特定的屬性。

## 效能考量

載入指令碼與圖表運算式中可用的正則表達式函數，最適合用於需要彈性的進階字串轉換。使用 regex 函數比非 regex 替代選項更耗費資源。對於更簡單的資料轉換，請考慮使用其他可用的指令碼與圖函數，包含字串函數。如需可用字串函數的清單，請參閱 [字串函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/string-functions.htm)。

處理大量資料時，搜尋大數值或負數值 n 的相符項目的 regex 運算可能會導致效能降低。在可用 regex 函數的內容中，n 值對應於函數引數，例如 occurrence、count 與 field\_no。

## 可用的函數與範例

* [CountRegEx 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/CountRegEx.htm)

* [ExtractRegEx 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/ExtractRegEx.htm)

* [ExtractRegExGroup 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/ExtractRegExGroup.htm)

* [IndexRegEx 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IndexRegEx.htm)

* [IndexRegExGroup 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IndexRegExGroup.htm)

* [IsRegEx 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsRegEx.htm)

* [MatchRegEx 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/MatchRegEx.htm)

* [ReplaceRegEx 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/ReplaceRegEx.htm)

* [ReplaceRegExGroup 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/ReplaceRegExGroup.htm)

* [SubFieldRegEx 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/SubFieldRegEx.htm)

[字串函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/string-functions.htm)