Php 正则表达式提取短匹配

Php 正则表达式提取短匹配,php,regex,Php,Regex,我不熟悉正则表达式 内容为 >blablablabla>8.8GB 我想获取值8.8,但如果我使用(?blablablablabla>8.8GB 我不知道如何解决这个问题。非常感谢您的帮助。您可以使用: (\d+(?:\.\d+)?)[MKG]B 提取存储单元前的整数值 \d是任何数字。+是允许1个或多个数字的量词。?:是非捕获组。\.是一个文本?使小数部分(\.\d+可选。

我不熟悉正则表达式

内容为

>blablablabla>8.8GB

我想获取值
8.8
,但如果我使用
(?blablablablabla>8.8GB

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

您可以使用:

(\d+(?:\.\d+)?)[MKG]B
提取存储单元前的整数值

\d
是任何数字。
+
是允许1个或多个数字的量词。
?:
是非捕获组。
\.
是一个文本

使小数部分(
\.\d+
可选。
是一个字符类,允许
M
K
G
B
是一个文本
B

演示:

PHP用法:

<?php
preg_match('/(\d+(?:\.\d+)?)[MKG]B/', '">blablabla</a> </td>blablabla "> 8.8GB </a> </td>', $match);
echo $match[1];

如果您的字符串是html,请使用而不是regexthank-you-chris85,它可以完美地工作!