你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
从源字符串中获取正则表达式的匹配项。
(可选)将提取的子字符串转换为指明的类型。
语法
extract(
正则表达式,
captureGroup,
source [,
typeLiteral])
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
正则表达式 | string |
✔️ | 一个正则表达式。 |
captureGroup | int |
✔️ | 要提取的捕获组。 0 代表整个匹配项,1 代表正则表达式中第一个括号 () 匹配的值,并用 2 及以上数字代表后续括号。 |
源 | string |
✔️ | 要搜索的字符串。 |
typeLiteral | string |
(如果支持)提取的子字符串将转换成此类型。 例如 typeof(long) 。 |
返回
如果 regex 在 source 中找到了匹配项:与指定捕获组 captureGroup 匹配的子字符串可转换为 typeLiteral(可选) 。
如果没有匹配项,或类型转换失败:null
。
示例
以下示例从字符串中提取用户名、电子邮件、年龄。 正则表达式用于提取信息。
let Text = "User: JohnDoe, Email: johndoe@example.com, Age: 29";
print UserName = extract("User: ([^,]+)", 1, Text),
EmailId = extract(@"Email: (\S+),", 1, Text),
Age = extract(@"\d+", 0, Text)
输出
UserName | EmailId | 年龄 |
---|---|---|
JohnDoe | johndoe@example.com | 二十九 |
以下示例从字符串 Dates
中提取月份,并返回日期字符串和月份作为 int 类型的表。
let Dates = datatable(DateString: string)
[
"15-12-2024",
"21-07-2023",
"10-03-2022"
];
Dates
| extend Month = extract(@"-(\d{2})-", 1, DateString, typeof(int))
| project DateString, Month
输出
DateString | 月 |
---|---|
15-12-2024 | 12 |
21-07-2023 | 7 |
10-03-2022 | 3 |