regex - 在Dart正则表达式中匹配$(美元符号)词

标签 regex dart

我要匹配文本中的所有美元符号单词。例如,"Hello $VARONE this is $VARTWO"可以匹配$VARONE$VARTWO

正则表达式应该是/\$(\w+)/g,但是当我在Dart中将它与DartPad(https://dartpad.dartlang.org/)中的编译器一起使用时,单词不匹配。

void main() {
  final variableGroupRegex = new RegExp(r"/\$(\w+)/g");

  Iterable<Match> matches = variableGroupRegex.allMatches("Hello \$VARONE this is \$VARTWO");
    for (Match match in matches) {
         print("match $match"); // code is never run as no matches
    }
}

最佳答案

您可以将其修复为

final variableGroupRegex = new RegExp(r"\$(\w+)");

Iterable<Match> matches = variableGroupRegex.allMatches("Hello \$VARONE this is \$VARTWO");
for (Match match in matches) {
     print(match.group(0));
     print(match.group(1));
}

输出:
$VARONE
VARONE
$VARTWO
VARTWO

在这里,您使用原始字符串文字定义了正则表达式,并且r"\$(\w+)定义了\$(\w+)模式。然后,要访问整个匹配项,可以使用.group(0),并使用.group(1)来获取捕获的值。

关于regex - 在Dart正则表达式中匹配$(美元符号)词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51100622/

相关文章:

string - dart中如何将字符串的首字母大写?

dart - 如何在同一设备上为不同项目使用两个版本的 Flutter?

flutter - flutter 中的多个依赖下拉列表

如果最后存在,则通过删除模式来提取正则表达式

r - 使用 R 中的正则表达式将所有匹配项提取到新列

java - 如何在字符串中搜索可解析的日期

dart - 当我尝试拉我的依赖项时,Dart pub get命令无法正常工作

javascript - 如何创建匹配给定字符后一行中所有内容的正则表达式?

ios - NSPredicate 和 BeginsWith

dart - 如何在同一文件夹中导入多个 Dart 文件