Dart 正则表达式错误尝试调用使用?

     2023-03-07     71

关键词:

【中文标题】Dart 正则表达式错误尝试调用使用?【英文标题】:Dart regular expression error Try calling using? 【发布时间】:2021-04-18 17:08:32 【问题描述】:

我有

Error: Method 'group' cannot be called on 'RegExpMatch?' because it is potentially null.

 - 'RegExpMatch' is from 'dart:core'.

Try calling using ?. instead.

                final everything = match.group(0);

我的源代码在下面,只是一个简单的正则表达式。

我应该在哪里解决这个问题??

RegExp regExp = new RegExp(r'[0-9][0-9]');

RegExpMatch match = regExp.firstMatch(results.text);
         
final everything = match.group(0);

我是这样改源码的

  RegExp regExp = new RegExp(r'C(S|N)-[0-9][0-9][0-9]-[0-9][0-9][0-9]');

  if (regExp.hasMatch(results.text))
     
        RegExpMatch match = regExp.firstMatch(results.text);
         
        final everything = match!.group(0);
        _showMyDialog(everything);
          
  

仍然发生错误。

lib/camera_preview_scanner.dart:77:44: Error: A value of type 'RegExpMatch?' can't be assigned to a variable of type 'RegExpMatch' because 'RegExpMatch?' is nullable and 'RegExpMatch' isn't.

 - 'RegExpMatch' is from 'dart:core'.

                RegExpMatch match = regExp.firstMatch(results.text);

                                           ^

lib/camera_preview_scanner.dart:79:36: Warning: Operand of null-aware operation '!' has type 'RegExpMatch' which excludes null.

 - 'RegExpMatch' is from 'dart:core'.

                final everything = match!.group(0);

解决方案

使用RegExp! 代替RegExp

  RegExp! regExp = new RegExp(r'C(S|N)-[0-9][0-9][0-9]-[0-9][0-9][0-9]');

  if (regExp.hasMatch(results.text))
     
        RegExpMatch match = regExp.firstMatch(results.text);
         
        final everything = match!.group(0);
        _showMyDialog(everything);
          
  

【问题讨论】:

【参考方案1】:

final everything = match!.group(0);

或更好

if(match != null) 
   final everything = match!.group(0);

【讨论】:

感谢您的评论我尝试使用match!但徒劳无功,我更新了文章 啊,问题解决了我使用RegExpMatch?而不是 RegExpMatch

如何在 Dart 中使用正则表达式?

】如何在Dart中使用正则表达式?【英文标题】:HowtouseRegExinDart?【发布时间】:2018-09-2007:13:06【问题描述】:在Flutter应用程序中,我需要检查字符串是否与特定的RegEx匹配。但是,我从应用程序的JavaScript版本复制的RegExalways在Flu... 查看详情

在 Dart 语言中使用正则表达式 (RegEx) 查找时间和日期

】在Dart语言中使用正则表达式(RegEx)查找时间和日期【英文标题】:FindingtimeanddatewithRegularExpression(RegEx)inDartlanguage【发布时间】:2021-06-2915:22:39【问题描述】:我正在使用Flutter编写应用程序。我从某个来源阅读了时间和日期。资... 查看详情

在 dart 中使用动态全词匹配正则表达式过滤列表

】在dart中使用动态全词匹配正则表达式过滤列表【英文标题】:Filterlistusingdynamicwholewordmatchingregexindart【发布时间】:2020-08-0100:02:39【问题描述】:我正在过滤这样的列表,但我认为应该有更好的方法来过滤列表,其中bloc不允... 查看详情

尝试在 JavaScript 中使用 Gruber 的“改进的”URL 匹配正则表达式模式时,如何修复“无效组”错误?

】尝试在JavaScript中使用Gruber的“改进的”URL匹配正则表达式模式时,如何修复“无效组”错误?【英文标题】:HowdoIfix"invalidgroup"errorwhenattemptingtouseGruber\'s"improved"URLmatchingregexppatterninJavaScript?【发布时间】:2022-01-... 查看详情

Java Scanner 使用正则表达式解析换行符(错误?)

】JavaScanner使用正则表达式解析换行符(错误?)【英文标题】:JavaScannernewlineparsingwithregex(Bug?)【发布时间】:2011-02-2115:50:12【问题描述】:我正在用Java手动开发语法分析器,我想使用正则表达式来解析各种标记类型。问题是... 查看详情

尝试在java中使用正则表达式时堆栈溢出

】尝试在java中使用正则表达式时堆栈溢出【英文标题】:Stackoverflowwhentryingtouseregexinjava【发布时间】:2019-01-1320:35:44【问题描述】:我已经阅读了一些关于如何优化正则表达式的文章,但没有一个答案(较少的组,使用X,Y而不... 查看详情

在 JavaScript 正则表达式中使用 1+ 所有格量词时出现正则表达式错误

】在JavaScript正则表达式中使用1+所有格量词时出现正则表达式错误【英文标题】:RegexeErrorwhenusing1+possessivequantifierinJavaScriptregex在JavaScript正则表达式中使用1+所有格量词时出现正则表达式错误【发布时间】:2014-10-0500:28:57【问题... 查看详情

Java 正则表达式错误 - 使用组参考进行后视

】Java正则表达式错误-使用组参考进行后视【英文标题】:Javaregexerror-Look-behindwithgroupreference【发布时间】:2013-05-1506:26:31【问题描述】:我正在尝试构建一个正则表达式,它与一个类中出现的两次字符完全匹配。这是我制作的... 查看详情

使用正则表达式模式时的灾难性回溯错误

】使用正则表达式模式时的灾难性回溯错误【英文标题】:Catastrophicbacktrackingerrorwhenusingaregexpattern【发布时间】:2015-11-1007:49:41【问题描述】:我的正则表达式模式是:(<spanstyle="color:green">?(\\s*|\\w*|\\S*)*<li>)(?!?\\s*<\\/sp... 查看详情

未找到:“dart:html”导入“dart:html”;我不需要 dart:html 我也没有使用过,但我尝试通过导入它,但错误不会发生

...不需要dart:html我也没有使用过,但我尝试通过导入它,但错误不会发生【英文标题】:Notfound:\'dart:html\'import\'dart:html\';Idon\'tneeddart:htmlandIalsodidn\'tused,butItriedbyimportingit,buttheerrorisn\'tgoing【发布时间】:2021-09-200 查看详情

Python 使用正则表达式解析 HTML

】Python使用正则表达式解析HTML【英文标题】:PythonparsingHTMLUsingRegularExpressions【发布时间】:2014-06-2605:51:15【问题描述】:我正在尝试浏览网站的HTML并对其进行解析,以寻找班级的最大入学人数。我尝试在HTML文件的每一行中检... 查看详情

正则表达式错误 - 无需重复

】正则表达式错误-无需重复【英文标题】:regexerror-nothingtorepeat【发布时间】:2011-04-1003:54:02【问题描述】:我在使用这个表达式时收到一条错误消息:re.sub(r"([^\\s\\w])(\\s*\\1)+","\\\\1","...")我检查了RegExr的正则表达式,它按预期... 查看详情

正则表达式与 ls 的用法

】正则表达式与ls的用法【英文标题】:RegularExpressionusagewithls【发布时间】:2013-02-2701:31:21【问题描述】:我正在尝试将ER(扩展正则表达式)与ls一起使用,例如ls.+\\..+。我正在尝试打印所有包含扩展名的文件(我知道我可以... 查看详情

Dart 错误:错误:当前 Dart 运行时不支持导入 dart:mirrors

】Dart错误:错误:当前Dart运行时不支持导入dart:mirrors【英文标题】:DartError:error:importofdart:mirrorsisnotsupportedinthecurrentDartruntime【发布时间】:2020-02-1617:36:52【问题描述】:我目前正在尝试使用Flutter编写一些移动代码。我正在尝... 查看详情

美丽的汤类型错误和正则表达式

】美丽的汤类型错误和正则表达式【英文标题】:BeautifulSoupTypeErrorandRegex【发布时间】:2013-04-0915:28:30【问题描述】:我正在尝试查找给定页面上的所有电子邮件并使用正则表达式匹配它们。我正在使用BeautifulSoup来获取所有标... 查看详情

需要和缺少 POSIX 正则表达式函数

】需要和缺少POSIX正则表达式函数【英文标题】:POSIXregexfunctionsrequiredandmissing【发布时间】:2014-09-2213:44:43【问题描述】:当我尝试使用msys2编译旧的c源代码时,会发生此错误:“配置:错误:POSIX正则表达式函数需要和缺失!... 查看详情

错误代码:3685。正则表达式的非法参数

】错误代码:3685。正则表达式的非法参数【英文标题】:ErrorCode:3685.Illegalargumenttoaregularexpression【发布时间】:2020-05-1619:11:34【问题描述】:我正在尝试使用下面的SQL语句在MySQL8.0中找到一个确切的数字SELECT*FROMrulebook.node__bodyWHER... 查看详情

正则表达式错误 - 在 jquery 中无需重复 [重复]

】正则表达式错误-在jquery中无需重复[重复]【英文标题】:regexerror-nothingtorepeatinjquery[duplicate]【发布时间】:2014-03-1914:55:58【问题描述】:我尝试了一个正则表达式来验证电子邮件ID。当我使用这个表达式时:varemailxP=/^(\\w+([0-9-+... 查看详情