我有一个非常长的数据,我想匹配并获取包含字符串和未知十进制值的某一行到该数据。
我想要的比赛如下:
"totalProfitToday": 0.0
其中0.0是任何十进制数。有帮助吗?感谢。
答案 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*
零个或多个数字