1

我正在尝试创建一个匹配从 0 到 600 的数字范围的 RegEx 表达式,这样我就可以轻松地区分小型移动设备和平板电脑/台式机。我正在使用 Qualtrics 的调查软件来完成剩下的工作——我需要的只是 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

该代码可以识别“x”之前的数字,但它不会停留在 600 - 它可以识别“x”之前的所有数字(例如,从 000 到 9999)。

如何获得我想要的范围?谢谢,麻烦您了!

注意:我在这里尝试使用 RegEx 数字范围生成器,但它不适用于我想要完成的任务。

4

3 回答 3

1

我会做:

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

在哪里:

\b是单词边界,它确保之前没有数字
(?: )是非捕获组
600匹配 600
[1-9]\d?匹配 1 到 99 的
[1-5]\d{2}数字 匹配 100 到 599 的数字

于 2014-10-25T09:46:43.767 回答
0

我不相信宽度低于 100,所以你可以使用这个模式:

^([1-5][0-9]{2}|600)x
于 2014-10-25T21:51:09.500 回答
0

如果您的输入包含所有这些行,则可以使用此正则表达式但带有m修饰符:

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

现场演示

于 2014-10-24T20:37:44.093 回答