# 在加载脚本和图表表达式中使用正则表达式

通过在数据加载脚本和图表表达式中使用正则表达式 (regex)，增强您的分析和数据准备。正则表达式为查找和替换基于文本的数据提供了高级、灵活且强大的选项。要在 Qlik Sense 和 脚本 界面中使用正则表达式，请使用[可用的脚本和图表函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/regular-expressions-qlik-analytics.htm#Available)。

## 如何使用正则表达式

正则表达式 (regex) 为高级模式匹配提供了广泛的选项。编写正则表达式以指定您想要识别的特定文本模式。例如，您可能希望在较大的自然语言正文中查找电子邮件地址或 Web URL 的出现情况。

正则表达式有许多不同的编写格式，每种格式都有自己的语法规则。可用的正则表达式函数使用 Perl 正则表达式语法。

要在 Qlik Sense 和 脚本 界面中使用正则表达式，请使用可用的正则表达式脚本和图表函数。使用这些函数的前提是您对正则表达式的工作原理有基本的了解。有关更多信息（包括示例），请参见 [可用函数和示例](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/regular-expressions-qlik-analytics.htm#Available)。

## 用例

您可以将正则表达式用于：

* 从包含多个不同组件的文本中提取和分离信息。例如，电子邮件地址、电话号码、Web URL 等。

* 标准化数据格式。

* 搜索和/或替换文本。

借助可用的正则表达式函数，您可以在加载脚本中执行以下操作：

* 转换数据并加载以供分析使用。

* 验证数据以确保其遵循格式和其他合规性标准。

* 识别、屏蔽或更改个人身份信息 (PII)，使其成为适合您的分析内容使用者的形式。

* 根据数据是否匹配特定的文本模式，有选择地将数据加载到应用程序中。

图表表达式中正则表达式函数的用例与加载脚本的用例类似。在图表表达式中使用这些函数还可以让您：

* 根据用户需求和交互，有条件或静态地动态转换数据。

* 使用这些函数定义标签、颜色设置和其他特定于图表的属性。

## 性能注意事项

加载脚本和图表表达式中可用的正则表达式函数最适合用于需要灵活性的高级字符串转换。使用正则表达式函数比非正则表达式替代方案更耗费资源。对于更简单的数据转换，请考虑使用其他可用的脚本和图表函数，包括字符串函数。有关可用字符串函数的列表，请参见 [字符串函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/string-functions.htm)。

处理大量数据时，搜索大值或负值 n 匹配项的正则表达式操作可能会导致性能下降。在可用正则表达式函数的上下文中，n 值对应于函数参数，例如 occurrence、count 和 field\_no。

## 可用函数和示例

* [CountRegEx 脚本和图表功能](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/CountRegEx.htm)

* [ExtractRegEx 脚本和图表功能](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/ExtractRegEx.htm)

* [ExtractRegExGroup 脚本和图表功能](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/ExtractRegExGroup.htm)

* [IndexRegEx 脚本和图表功能](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IndexRegEx.htm)

* [IndexRegExGroup 脚本和图表功能](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IndexRegExGroup.htm)

* [IsRegEx 脚本和图表功能](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsRegEx.htm)

* [MatchRegEx 脚本和图表功能](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/MatchRegEx.htm)

* [ReplaceRegEx 脚本和图表功能](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/ReplaceRegEx.htm)

* [ReplaceRegExGroup 脚本和图表功能](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/ReplaceRegExGroup.htm)

* [SubFieldRegEx 脚本和图表功能](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/SubFieldRegEx.htm)

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