1

我使用 PHP preg_match() 方法。我在使用正则表达式匹配 mm 长度时遇到问题。数值长度可以是浮点数......这是我正在处理的数据的一些示例;

1.0mm

25.5毫米

3mm

3 毫米

3.3 毫米

所以基本上任何整数或浮点数都以“mm”开头,有或没有空格。

谢谢!

4

2 回答 2

1

试试看'/(\d+(?:\.\d+)?)\s*mm/',你会得到 1 美元的号码。

解释:

  • (开始捕获组
  • \d+一位或多位数字
  • (?:开始非捕获组
  • \.字面点
  • \d+一位或多位数字
  • )结束非捕获组
  • ?非捕获组(“.” + 数字)可能不存在
  • )结束捕获组
  • \s*零个或多个空格(或制表符等)
  • mm字面意思“毫米”
于 2010-02-15T15:46:26.543 回答
1

你需要一个正则表达式吗?如果您在“123.122mm”上使用 floatval 之类的东西,它应该为您提供 123.122 数字并忽略文本。

于 2010-02-15T15:50:59.140 回答