提问人:Lakshan Weerasinghe 提问时间:11/13/2023 更新时间:11/13/2023 访问量:44
“regexp:Groups”有什么用,如何在芭蕾舞演员正则表达式中访问它?
What is the use of `regexp:Groups` and how to access it in ballerina regexp?
答:
3赞
Lakshan Weerasinghe
11/13/2023
#1
当我们需要提取匹配字符串的特定部分时,我们需要捕获组。通过将正则表达式模式的一部分括在括号中,它形成了一个捕获组。芭蕾舞女演员包中定义如下的类型有助于提取这些特定部分。Groups
regexp
public type Groups readonly & [Span, Span?...];
Groups
是 readonly 和对象列表之间的交集。列表的第 0 个成员表示完整正则表达式模式的匹配子字符串。i>1 时的第 i 个索引成员将生成与第 i 个捕获组匹配的子字符串。Span
假设您需要将字符串与日期模式匹配,例如,。您需要提取日期、月份和年份值。在这种情况下,您可以使用捕获组来提取这些特定值。下面的芭蕾舞女演员代码将帮助您进一步理解它。DD-MM-YYYY
import ballerina/io;
import ballerina/lang.regexp;
public function main() {
string date = "13-11-2023";
regexp:Groups? result = re `(\d{2})-(\d{2})-(\d{4})`.findGroups(date);
if result is regexp:Groups {
io:println(result[0].substring()); // 13-11-2023
regexp:Span? day = result[1];
if day !is () {
io:println(day.substring()); // 13
}
regexp:Span? month = result[2];
if month !is () {
io:println(month.substring()); // 11
}
regexp:Span? year = result[3];
if year !is () {
io:println(year.substring()); // 2023
}
}
}
上一个:解析脚本中的迭代:值保持不变
下一个:捕获重复组
评论