重复一组字符

HimBromBeere

我有以下输入要与正则表达式匹配:

1.1.1.1
1.01.1.1
01.01.091.01
1.10.100.0010

所以我总是有四个由数字组成的组。虽然前三个应该匹配,但最后一个不应该匹配。

所以我写了这个正则表达式:

^(\d*[1-9]+\.){4}$

通常,此正则表达式应返回所有组中的任何数字后跟零的所有字符串或者更容易:我不想匹配所有带有尾随零的数字。

然而,这不匹配任何东西。regex1010.com告诉这个:

重复捕获组只会捕获最后一次迭代。在重复组周围放置一个捕获组以捕获所有迭代,或者如果您对数据不感兴趣,则使用非捕获组代替

但是当我添加另一个捕获组时,我收到相同的消息:

^((\d*[1-9]+\.)){4}$

这同样适用于非捕获组:

^(?:\d*[1-9]+\.){4}$

当然,我可以只写同一个组四次,但这相当笨拙且难以阅读。

尼尔古兹

您永远不会在图案中指定点。你要求的其实不是四的重复,而是用点隔开的四个数字的特定单一模式。

^(\d*[1-9]+\.\d*[1-9]+\.\d*[1-9]+\.\d*[1-9]+)$

在那里,你可以考虑重复的唯一的事情就是“数+点”的一部分,但你重复3次,并添加另一个号码。然后正则表达式会变成这样:

^((\d*[1-9]+\.){3}\d*[1-9]+)$

但是,您的第三行末尾包含一个空格,因此您可能需要添加额外的检查以将其剪掉。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查字符串是否包含一组特定的字符?(可能需要重复的字符)

来自分类Dev

如何用特定字符替换一组重复的字符串模式?

来自分类Dev

Kotlin / Regex-用重复字符替换一组图案

来自分类Dev

重复一组行(数据框),并向每个组添加一个字符串

来自分类Dev

使用一组结构体,避免一组结构体重复

来自分类Dev

C ++删除一组列表中的重复项

来自分类Dev

AngularJS:以n个元素为一组重复

来自分类Dev

如何对一组重复的specflow语句进行分组?

来自分类Dev

避免在Excel的列中粘贴重复的一组值

来自分类Dev

R仅删除一组的重复项

来自分类Dev

如何返回一组ID的重复行?

来自分类Dev

获取一组重复行中的最新行

来自分类Dev

使用Java替换一组重复的xml标签

来自分类Dev

Scala字符串按一组字符修剪

来自分类Dev

匹配php中一组字符中的字符

来自分类Dev

Python 在字符串上取一组特定的字符

来自分类Dev

如何遍历Javascript中的一组字符串?

来自分类Dev

从字符向量中删除一组单词

来自分类Dev

确定字符是否不在索引的一组括号中?

来自分类Dev

Python:减少一组字符串

来自分类Dev

字符串以一组定义的单词开头

来自分类Dev

文本替换-模式是一组字符串[r]

来自分类Dev

将字符串长度限制在一组内?

来自分类Dev

根据一组特定的单词分割字符串

来自分类Dev

输出一组字符串的所有值

来自分类Dev

R查找以一组数字字符开头的行

来自分类Dev

使用其他字体的一组字符创建ttf

来自分类Dev

使用其他字体的一组字符创建ttf

来自分类Dev

在一组字符串中查找后缀,Python