2012-05-15 6 views
0

Я ищу шаблон регулярного выражения, который может проверять строку, описывающую размеры элемента. Строка будет отформатирована в формате LxWxH (например, 20x40x10). Он должен иметь возможность принимать x или X в качестве разделителя.RegEx Test pattern для LxWxH

Прямо сейчас у меня есть: /.*?([0-9](?:\s+x\s+[0-9]+[HWD])*)\s*\-?;/

+0

являются вы сейчас говорите о php или js? – Pavel

+0

Я использую этот пример в Javascript, но тестовый шаблон применим и к php, не так ли? – user1026361

ответ

4

Если я хорошо понял:

var size = "20x50x68"; 

/^\d+x\d+x\d+$/i.test(size); 

Если мера может быть необязательно десятичной части (например, 23.4x59x80.2633333) регулярное выражение должно быть

/^\d+(\.\d+)?x\d+(\.\d+)?x\d+(\.\d+)?$/i.test(size); 
+1

Спасибо, это работает. Я новичок в Regex, поэтому, если у вас есть секунда, чтобы подтвердить мои подозрения, я буду благодарен ^ - начало строки \ d - любое количество повторяющихся цифр + x - x или X $ - конец строки ? – user1026361

+1

да, правильный. Палец вверх! :) – fcalderan

+2

@ user1026361: '\ d' соответствует * одной * цифре,' [0-9] '. '\ d +' соответствует * одной или нескольким * цифрам. '+' Известен как * квантификатор *: другие кванторы включают '*' (ноль или больше), '?' (Ноль или один) и '{m, n}' (совпадение между 'm' и' n 'times.) Пробовали ли вы читать [регулярное выражение flavors reference] (http://www.regular-expressions.info/refflavors.html)? –