Нужен рег-экс, чтобы соответствовать длине в мм - PullRequest
1 голос
/ 15 февраля 2010

Я использую метод PHP preg_match (). У меня проблемы с регулярным выражением, которое соответствует длине в мм. Цифровая длина может быть плавающей точкой ... вот несколько примеров данных, над которыми я работаю;

1.0mm

25.5mm

3 мм

3 мм

3,3 мм

Таким образом, любое число или число с плавающей запятой, начинающиеся с "mm" с пробелом или без него

Спасибо!

Ответы [ 2 ]

1 голос
/ 15 февраля 2010

Вам нужно регулярное выражение для этого? если вы используете что-то вроде floatval для «123.122mm», оно должно дать вам 123.122 числовое и игнорировать текст.

1 голос
/ 15 февраля 2010

Попробуйте '/(\d+(?:\.\d+)?)\s*mm/', и вы получите число в $ 1.

Пояснение:

  • ( начать захват группы
  • \d+ одна или несколько цифр
  • (?: начало группы без захвата
  • \. Литеральная точка
  • \d+ одна или несколько цифр
  • ) конечная группа без захвата
  • ? группа без захвата ("." + Цифры) может отсутствовать
  • ) группа захвата конца
  • \s* ноль или более пробелов (или табуляции и т. Д.)
  • mm буквальный "мм"
...