2014-10-24 4 views
1

Я пытаюсь создать выражение RegEx, которое будет соответствовать числовому диапазону от 0 до 600, чтобы я мог легко различать небольшое мобильное устройство и планшеты/рабочие столы. Я использую программное обеспечение опроса Qualtrics, чтобы сделать все остальное - все, что мне нужно, это выражение RegEx.Как я могу использовать RegEx для разделения разрешений экрана?

Однако я не уверен на 100%, как данные Qualtrics принимают данные. Я считаю, что он принимает его в следующем формате:

360x640 
320x568 
320x480 
1920x1080 
360x640 
1280x800 
320x568 
1920x1080 
360x640 
1280x800 
1920x1080 
480x800 
320x480 
1280x800 
1366x768 
320x568 
1280x800 

Где я тестирую первое число, например, число перед символом «x».

Вот некоторые RegEx я попытался это не сработало:

([0-9]{1,2}|[1-4][0-9]{2}|600)*x 

Этот код распознает номера перед «х», но он не останавливается на 600 - он распознает все номера перед «х '(например, от 000 до 9999).

Как получить диапазон, который я хочу? Пожалуйста и спасибо!

Примечание: Я пытался использовать генератор номеров диапазона RegEx here, но он не работает для того, что я хочу выполнить.

ответ

0

Я не» t считают, что ширина ниже 100, поэтому вы можете использовать эту модель:

^([1-5][0-9]{2}|600)x 
+0

Спасибо! В настоящее время тестируем все эти, чтобы увидеть, что работает лучше всего ... – Kimbluey

0

Вы можете использовать это регулярное выражение, но с m модификатором, если ваш вклад содержит все эти строки вместе:

^([0-5]\d{2}|600)x 

Live demo

+0

Действительно ли '000x' действителен? – hwnd

+0

@hwnd не на самом деле, но ее входы действительны, и она просто пытается вытащить нужные. – revo

+0

Спасибо! Друг дал мне следующее:^([0-9] | [1-9] [0-9] | [1-7] [0-9] [0-9] | 800) x ([0-9 ] | [1-9] [0-9] | [1-7] [0-9] [0-9] | 800) $ - Это по существу то же самое, но дольше, а также включает в себя 2-й номер, который может пригодится, если мне это нужно позже. Есть ли способ упростить вышеупомянутый RegEx? Кроме того, вы могли бы объяснить мне модификатор «m»? Благодаря! – Kimbluey

0

Я хотел бы сделать:

\b(?:600|[1-9]\d?|[1-5]\d{2})x 

Где:

\b is aw ог граница, это убедиться, что нет вы не цифр, прежде чем
(?: ) не является захват группой
600 соответствует 600
[1-9]\d? соответствует числу от 1 до 99
[1-5]\d{2} соответствует числу от 100 до 599

+0

Спасибо! В настоящее время тестирование всех этих продуктов, которые лучше всего подходят ... – Kimbluey

+0

@downvoter: Почему? – Toto

+0

Я бы поднял ваш голос, так как он был так хорошо объяснен, но у меня нет достаточно высокой репутации :( – Kimbluey

Смежные вопросы