regex - 在Dart中使用RegEx获取字符串的一部分

标签 regex string dart

我有这句话commerce_product--default,我只想提取最后一部分,所以在这里default,为此,我正在使用此RegEx RegExp(r'-\s*\K[^-]+$')现在,我尝试在代码中显示它,但是我没有找到执行此方法的方法,我尝试使用stringMatch或replaceAll进行如下操作:

final type = 'commerce_product--default';
final newType = type.replaceAll(RegExp(r'-\s*\K[^-]+$'), type);
但这没用。
谢谢您的帮助

最佳答案

要替换最后一次出现的-之前的所有内容,您还可以匹配整行,直到最后一次出现它,并断言接下来的内容
-以外的所有字符的1+倍,直到字符串的结尾。
在替换中,使用一个空字符串。

^.*-\s*(?=[^-]+$)
Regex demo | Dart demo
final type = 'commerce_product--default';
final newType = type.replaceAll(RegExp(r'^.*-\s*(?=[^-]+$)'), '');
print(newType);
输出量
default

关于regex - 在Dart中使用RegEx获取字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63171229/

相关文章:

javascript - 我如何在 JavaScript 中按每第 n 个字符拆分字符串?

java - 稍后使用方法添加到字符串数组

Flutter 在更新后无法识别它自己的名为参数的小部件

c# - 如何使用 C# 和正则表达式解析字符串?

Python正则表达式匹配特定的字符序列

java - 从数组列表中删除一串数据

dart - 在 main 中导入 mydart.dart 文件的正确方法

flutter - 在flutter webview上访问相机

java - 将数组列表中的文本附加到字符串需要花费大量时间

c++ - 让 API 使用 std::string 作为错误代码返回是不好的做法吗?