获取字符串和未知十进制数的匹配

时间:2018-02-16 06:00:07

标签: php regex

我有一个非常长的数据,我想匹配并获取包含字符串和未知十进制值的某一行到该数据。

我想要的比赛如下:

 "totalProfitToday": 0.0

其中0.0是任何十进制数。有帮助吗?感谢。

2 个答案:

答案 0 :(得分:0)

不确定您正在使用的语言或尝试过的语言,但此正则表达式断言它从行的开头开始,包含您的字符串,然后是零个或多个数字,一个句点,以及零个或多个数字。

^"totalProfitToday": \d*\.\d*$

如果您想要1或更多而不是0或更多,请将*更改为+。

这个实时正则表达式演示站点可以帮助您创建,学习和解决正则表达式。 https://regex101.com/r/au6rgb/1

一旦你想要匹配的正则表达式,你可以使用函数preg_match_all()来获得一系列匹配。

http://php.net/manual/en/function.preg-match-all.php

$data = '"totalProfitToday": 5.5';
$pattern =  '/^"totalProfitToday": \d*\.\d*$/';

preg_match_all( $pattern, $data, $matches);

var_dump( $matches );

$ matches将包含匹配项。 - 您需要根据数据格式对结果/模式进行故障排除。

答案 1 :(得分:0)

\"\w+\:\"\s\d+\.?\d*匹配“word”+空格+数字的所有序列,带或不带小数点

\"\w+\:\"匹配“word”

\s匹配空格

\d+一系列数字

\.?零或一个点

\d*零个或多个数字