gpt4 book ai didi

regex - 如何在 flutter 中将空组与正则表达式匹配?

转载 作者:IT王子 更新时间:2023-10-29 06:54:18 26 4
gpt4 key购买 nike

我有这个有效的正则表达式。目前我匹配 ;;

之间的所有数据

我的输入 => 1;23;test X;2;

我的正则表达式 => (\d+);(\d+);(\w+?\w+);(\d+);

group1=1
group2=23
group3=test X
group4=2

我的问题是:如果我更改,我的正则表达式代码将不起作用:

通过“测试”“测试 X”或者如果我有像 ;;

这样的空数据

在所有这种情况下,我都会搜索匹配项。

谢谢

最佳答案

我建议使用

^(\d*);(\d*);(\w+(?: \w+)?)?;(\d*);$

参见 regex demo

基本上,您需要 anchor 来匹配整个字符串,* 而不是 + 来匹配 0+ 个字符,而不是 1+ 个字符,(.. .)? 以匹配可选组。

详情

  • ^ - 字符串 anchor 的开始
  • (\d*) - 第 1 组:零个或多个数字
  • ; - 一个;
  • (\d*) - 第 2 组:零个或多个数字
  • ; - 一个;
  • (\w+(?:\w+)?)? - 可选的第 3 组:1 个或多个单词字符后跟匹配空格和 1+ 个单词字符的可选组
  • ; - 一个;
  • (\d*) - 第 4 组:零个或多个数字
  • $ - 字符串 anchor 的结尾

关于regex - 如何在 flutter 中将空组与正则表达式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53813722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com