维度的正则表达式

时间:2017-01-17 04:06:13

标签: php regex

我需要对尺寸进行常规表达,它必须匹配具有x和/或空格且以mm | cm | mtr | ft结尾的单数或双位数

我的例子不起作用

/\d+(\.\d+)?\s{0,1}[xX]\s{0,1}\d+(\.\d+)?(\s*[xX]\s{0,1}\d+(\.\d+))?\s{1}(mm|cm|inches|meters|feet)/

-120x200mm //not a match
100\' X 130\' // not a match
12x12.3x12 not a match
12x.12.3x12mm match
12.2x12x12cm match
12x12x12ft match

http://regexr.com/3f2vb

1 个答案:

答案 0 :(得分:2)

我想这就是你要找的东西:

(?<!-)((\d+(\.\d+)?)\s*[xX]\s*){2}\d+(\.\d+)?\s*(mm|cm|mtrs|ft|yd)

Demo

修改

对于2维和3维:

Demo2

(?<!-)(\d+(\.\d+)?)(\s*[xX]\s*\d+(\.\d+)?){1,2}\s*(mm|cm|mtrs|ft|yd)