我工作的一个正则表达式的字符串来验证页码为唯一数字。我使用的正则表达式字符串是^products/([^/]+)/page-([^/]+[0-9]+)/sort-([^/]+)/?$
和URL在本例中使用是products/mens/page-1/sort-newest-first
,该字符串失败,正则表达式匹配。但是一个2位数的工作 - 比如products/mens/page-10/sort-newest-first
。正则表达式允许和禁止字符
有人知道为什么它不允许规则中的一个数字却2个位数以上是有效的?我难倒..
所有提供的答案都是很好的和详细的答案,但是这提供了最好的解决方案。干杯埃德,你认为[0-9] +还是\ d比较好?辩论使用.. – Banny
很高兴帮助! '[0-9]'和'\ d'是相同的,所以这是一个偏好问题。很多人会说'\ d'更好,因为它更“纯”,并且因为'[0-9]'增加了混乱。其他人发现'\ d'稍微降低了可读性。实际上,这并不重要,所以选择最容易理解和维护的内容。 –
好吧欢呼声,我会坚持[0-9],因为这对我来说更具可读性。感谢您的解释! – Banny