我正在嘗試制作實用函式來決議字串并回傳正則運算式匹配串列。從我的服務器回傳的字串如下所示:
{{Yoga dance class}}
{{Herzog, Walter and Glover}}
{{Yoga, dance}}
{{Intermediate}}
我正在嘗試像這樣匹配正則運算式:
class ParsedClassDescription {
final String userFacingDescription;
final String? organization;
final String? categories;
final String? level;
const ParsedClassDescription({
required this.userFacingDescription,
this.organization,
this.categories,
this.level,
});
}
ParsedClassDescription? parseClassDescription(String? description) {
if (description == null) {
return null;
}
final regex = RegExp(r'/(?<={{\s*).*?(?=\s*}})/gs');
final match = regex.allMatches(description);
return const ParsedClassDescription(userFacingDescription: 'test test ignore this');
}
我不確定這個 RegExp 是否有效……我做錯了什么嗎?
uj5u.com熱心網友回復:
正如Günter Z?chbauer 的評論所說,從字串的開頭洗掉“/”。作為評論的答案指出您不需要 '/g' (.allMatches()執行該功能)。我在 DartPad 中運行了你的正則運算式,并通過洗掉這兩個字符和“s”讓它回傳匹配項:
final regex = RegExp(r'(?<={{\s*).*?(?=\s*}})');
final match = regex.allMatches("{{Yoga dance class}} {{Herzog, Walter and Glover}} {{Yoga, dance}} {{Intermediate}}");
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/524825.html
標籤:扑镖
上一篇:嘗試遍歷陣列并注釋它們
