正则表达式匹配1而不是10,11,12等,或21,31等

时间:2012-05-23 17:44:02

标签: regex

我正在尝试找到匹配的正确正则表达式:

?page=1

但我不想将?page=10?page=11?page=12 .etc与?page=19

相匹配

我不想匹配?page=21?page=31 ...等

我只想匹配?page=1

我已经尝试?page=1[^0123456789],但它似乎对我不起作用。

2 个答案:

答案 0 :(得分:1)

您需要转义?

\?page=1
javascript中的

DEMO

如果您只想匹配这是其值的字符串:

^\?page=1$ // '^'- starts with ...  '$' - ends with...

如果您想要任何一个数字而不只是1

^\?page=\d$
\?page=\d // Or this

答案 1 :(得分:1)

页面= 2可以吗?如果没有,我不明白为什么你用正则表达式这样做。使用substr / strpos / strcmp等效函数会更合适。

在这些示例中,我假设?page=1是字符串的结尾。

如果page =(0到9之间的数字)没问题,则需要使用\?page=\d$\d means "a digit"

如果页面应该只有1,那么它是\?page=1$

$ = End of string

问题是?在正则表达式中有特殊含义,需要进行转义。