使用PHP preg_match()方法的Im。我有一个正则表达式匹配毫米长度的麻烦。数字长度可以是浮点数......这里是我正在处理的数据的一些例子;需要一个reg-ex来匹配mm的长度
1.0毫米
25.5毫米
3毫米
3毫米
3.3毫米
所以睡床简单的任何整数或浮点数由 “毫米” 具有或不具有之间的空白进行。
谢谢!
使用PHP preg_match()方法的Im。我有一个正则表达式匹配毫米长度的麻烦。数字长度可以是浮点数......这里是我正在处理的数据的一些例子;需要一个reg-ex来匹配mm的长度
1.0毫米
25.5毫米
3毫米
3毫米
3.3毫米
所以睡床简单的任何整数或浮点数由 “毫米” 具有或不具有之间的空白进行。
谢谢!
尝试'/(\d+(?:\.\d+)?)\s*mm/'
并且您将有$ 1中的数字。
说明:
(
开始捕获组\d+
一个或多个数字(?:
开始非捕获组\.
litteral点\d+
一个或多个数字)
端非捕获组?
非捕获组(“” +数字)可能不存在)
端捕获组\s*
零个或多个空格(或翼片,等)mm
文字“毫米”你需要一个正则表达式吗?如果你在“123.122mm”上使用像floatval这样的东西,它应该给你123.122数字并忽略文本。
错字:一段时间过多。 – FMc
@streetpc - 快到了!但是这个reg-ex也会在下面返回布尔值true; 1.2米 (它需要严格的回报率只在“MM”真) 可这REG-EX进行修改,以做到这一点? – robmcvey
正则表达式包含一个litteral双“m”,所以它只能匹配“mm”。如果不是的话,你能把这段代码放进去吗? @FM修正了这一点,谢谢 –