首页 > 解决方案 > 使用正则表达式匹配 Dart 语言中的特定字符串

问题描述

我正在寻找 Dart 的 Regex 公式,以检查输入是否与我证明的特定字符串匹配。示例:输入是 'butter',证明字符串是 ['but','burst','bus']。程序应该返回 false,因为 'but' 不等于 'butter'。但它返回true如下代码。

void main() {
  const string = 'Can you give me a butter';
  const pattern = r'(but)|(burst)|(bus)';
  final regExp = RegExp(pattern);
  print(regExp.hasMatch(string.toLowerCase())); //true
}

标签: regexdartregex-group

解决方案


当我如下更改代码时,它运行良好。

void main() {
  const string = 'Can you give me a But asasa';
  const pattern = r'\b(but|burst|bus)\b';
  final regExp = RegExp(pattern, caseSensitive: false);
  print(regExp.hasMatch(string)); 
}

推荐阅读