正则表达式提取短匹配

时间:2016-10-06 15:56:27

标签: php regex

我是正则表达的新手。

内容

">blablabla</a> </td>blablabla "> 8.8GB </a> </td>

我想获得值8.8,但是如果我使用(?<=">)(.*?)(?=GB<\/a>),它也将获得8.8之前的文本,即。 ">blablabla</a> </td>blablabla "> 8.8GB

我不知道如何解决这个问题。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用:

(\d+(?:\.\d+)?)[MKG]B

在存储单元之前提取整数值。

\d是任意数字。
+是一个允许一个或多个数字的量词。
?:是一个非捕获组。
\.是文字.
?使小数部分(\.\d+)可选。
[MKG]是允许MK或{的字符类{1}}。 G是文字B

演示:https://regex101.com/r/3TifGy/1

PHP用法:

B

PHP演示:https://eval.in/656562