当我在正则表达式中转义两个正斜杠时,preg_match似乎失败了

时间:2015-12-28 14:35:40

标签: php regex

我正在为网站构建路由器。用户页面的精美网址为 u/user_name/user_id ,其中 u 表示用户 user_name &安培; user_name 是用户名(字母数字值)&存储在db中的用户的用户ID(数值)。我的正则表达式匹配这样一个uri是/u\/[A-Za-z0-9]\/\d/。当我将此表达式与匹配u/foo/9传递给preg_match时,我得到的返回值为0.

但是当表达式为/u\/[A-Za-z0-9]/我想要的)并且与匹配u/foo一起传递时,preg_match会返回正值1 。

我做错了什么或者我的表情有问题。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

你错过了你的字符串中有多个字母数字字符和多个数字。使用以下表达式:

/u\/[A-Za-z0-9]+\/\d+/