Регулярное выражение сравнить два числа

могу я как-то сравнить два числа в регулярном выражении? Мне нужно регулярное выражение, правильное для 10-12, но неверное для 12-10. Я имею в виду, что 10 должно быть меньше 12. Я хочу сделать это на Javascript.

Я думаю, вы захотите дать более подробное описание или больше примеров того, что вам нужно.

RB. 18.11.2008 16:47
Джеффа ответ на это !!
Vijay Dev 18.11.2008 17:13

Регулярные выражения предназначены для сопоставления шаблонов, а не для проверки числовых значений. Найдите вероятную строку с регулярным выражением, затем проверьте ее числовое значение на любом языке вашего хоста (Javascript, что угодно).

Andy Lester 02.06.2013 09:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
4 862
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Я бы не стал использовать для этого регулярное выражение. Я бы разделил строку на операторе, а затем сравнил бы два результирующих числа в зависимости от того, какой оператор я нашел (я предполагаю, что оба 10+12 и 12+10 будут законными).

Я имею в виду, что 10 должно быть меньше 12

geeeeeeeeeek 18.11.2008 16:49

Регулярное выражение используется для сопоставления шаблонов, а не для сравнения значений. Я бы просто разделил строку и использовал <или> для сравнения двух полученных чисел.

Bill the Lizard 18.11.2008 16:50
Ответ принят как подходящий

Если входные данные всегда имеют форму X-Y, то почему бы не использовать функцию split () с '-' в качестве разделителя, а затем сравнить две части с помощью>

Вы не можете сравнивать числовые значения с помощью регулярных выражений.

+1 за ваши экстрасенсорные способности в определении того, чего на самом деле хотел спрашивающий.

Paul Tomblin 18.11.2008 16:52

Вы можете извлечь числа с помощью регулярного выражения; вы не можете провести сравнение. Регулярные выражения - не универсальный инструмент для решения проблем.

Jonathan Leffler 18.11.2008 17:05

Думаю, я знал, что он имел в виду, но мне потребовалось столько же времени, чтобы сформулировать ответ, на который вы уже ответили :)

warren 18.11.2008 17:11

Проблема здесь в том, что вы пытаетесь свести две проблемы в одну.

Regex отлично справляется с синтаксисом (то есть распознает числа), но мусор с семантикой (то есть с распознаванием значения). Таким образом, регулярное выражение определенно поможет вам распознать x-y, но вы просите слишком многого, чтобы затем перейти к рассуждению о взаимосвязи между x и y.

Как часто цитируется;

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. (JWZ)

Вернее, теперь у вас их три.

Другие вопросы по теме