如何捕获由不同字符组成的整个群组?

时间:2018-12-29 18:22:02

标签: regex

我有一个文本,其中的数字包含点:

  

文本304.33.44.52.03.001文本

我要捕获包含字符串的数字:

  

304.33.44.52.02.03.001

以下正则表达式将捕获多个词组:

(\d+\.?)

结果:

304.
33.
44.
...

在一个结果中返回包括点在内的整数的正确语法是什么?

1 个答案:

答案 0 :(得分:1)

\d+\.?匹配1个以上的数字,然后匹配一个可选的.字符。

您需要使用其中一个

\d+(?:\.\d+)*

\d[\d.]*

请参见regex demo

\d+(?:\.\d+)*模式匹配

  • \d+-1个以上数字
  • (?:\.\d+)*-多次出现.,然后出现1个以上的数字。 (?:...)non-capturing group,用于对2个模式进行分组并在其序列上设置量词。

\d[\d.]*模式首先匹配一个数字,然后尝试匹配0个或多个数字或.

在不支持\d的正则表达式引擎中,您需要使用更安全的模式,即括号表达式[0-9]