Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在正则表达式中匹配一组已定义的模式_Regex - Fatal编程技术网

Regex 在正则表达式中匹配一组已定义的模式

Regex 在正则表达式中匹配一组已定义的模式,regex,Regex,我有以下正则表达式模式来匹配数字(负/正、整数或浮点): 我想写一个模式,它接受一行空格分隔的数字(使用上述模式),因此它将匹配如下内容: 1 3.4 -34 等等 我试过这个: [(\-{0,1}\d+\.{0,1}\d*)\s*] 但这将包括(和所有其他字符字面上)。 如何使用上述模式来实现这一点?您可以使用 -?\d+(?:\.\d+)?(?: -?\d+(?:\.\d+)?)* 模式匹配: -?\d+匹配可选的-和1+位 (?:\。\d+)匹配可选的小数部分 (?:非捕获组 -

我有以下正则表达式模式来匹配数字(负/正、整数或浮点):

我想写一个模式,它接受一行空格分隔的数字(使用上述模式),因此它将匹配如下内容:

1 3.4 -34
等等

我试过这个:

[(\-{0,1}\d+\.{0,1}\d*)\s*]
但这将包括(和所有其他字符字面上)。 如何使用上述模式来实现这一点?

您可以使用

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

  • -?\d+
    匹配可选的
    -
    和1+位
  • (?:\。\d+)
    匹配可选的小数部分
  • (?:
    非捕获组
    • -?\d+
      匹配空格、可选的
      -
      和1+位数
    • (?:\。\d+)
      匹配可选的小数部分
  • )*
    关闭组并可选地重复

答案正确吗?
-?\d+(?:\.\d+)?(?: -?\d+(?:\.\d+)?)*