Я хочу, чтобы RegEx
соответствовал значениям расстояния в метрической системе. Это регулярное выражение должно соответствовать 12m
, 100cm
, 1km
игнорируя пробельныеRegEx для расстояния в метрической системе
ответ
И продлить ответ Павла включать десятичные значения место ...
(\d+).?(\d*)\s*(m|cm|km)
Хорошо, хотя я попытался создать простейшее регулярное выражение, которое соответствует общей схеме его примеров - целым значениям сантиметров, метров и километров. +1 - добро пожаловать в stackoverflow :) –
Я сделал то же самое изначально, но когда вы избили меня на почту, я решил, что продюсирую его :), спасибо за приветствие. –
Как вы не указали точно, что вы хотите, я использовал свои примеры, чтобы получить, что вы хотите найти целое значение, а затем дополнительным пробелом, а затем блок спецификатор cm, m или km. Итак, это самый простой пример.
/(\d+)\s*(m|cm|km)/
Первые круглые скобки фиксирует число, то он пропускает 0-много пробельных символов перед захватом ваши требуемые единицы во втором наборе скобок.
Как вы можете видеть в других ответах, вы можете выйти за рамки этого, чтобы получить десятичные значения, а также захватить более широкое число префиксов единиц СИ.
, но это не сработает для 12 м. 20 см. – 2009-09-27 10:50:23
. Фриман: Обычно ты обозначаешь дистанции? '12.2 м' - гораздо более естественный способ сказать это. – u0b34a0f6ae
Попробуйте это:
(?:0|[1-9]\d*)\s*(?:da|[yzafpnμmcdhkMGTPEZY])?m
сначала подумал, что часть' yzafpnμmcdhkMGTPEZY' была шуткой, это SI-префиксы! :-) – u0b34a0f6ae
И не забудьте дополнительные «квантификаторы», предложенные в обновлении 1993 года к файлу жаргона (http://catb.org/~esr/jargon/html/Q/quantifiers.html), а именно: groucho/grouchi и harpo/harpi. Не было предложено разрешить конфликт между G = Giga (1e9) и G = Grouchi (1e30). – pavium
ах этот хороший. +1 –
StackOverflow - ваши личные обезьяны программирования. – LiraNuna
@ LiraNuna - уверен, это запрос lazyweb, но подумайте, что Google, вероятно, высоко оценит эту страницу для «метрического расстояния регулярного выражения» или аналогичного запроса, а различные ответы могут быть полезны для других. –
@Paul Dixon: Было бы неплохо, однако, если бы оригинальный постер, по крайней мере, исправить эти очевидные опечатки. Существует огромное несоответствие между количеством усилий, выдвинутых вопрошающим, и количеством усилий, выдвигаемых теми, кто отвечает ... – Fragsworth