将正则表达式与州匹配,但不匹配城市(反之亦然)

时间:2017-02-23 00:40:29

标签: regex

我有一系列这种格式的网址

/category/state/city

我想匹配

/category/state

但不是

/category/state/city

我尝试使用前瞻来消除有3个正斜杠的情况,但我一定做错了。

2 个答案:

答案 0 :(得分:1)

对于整个网址:

^http://(/[^/]+){2}$

仅适用于路径:

^(/[^/]+){2}$

答案 1 :(得分:0)

^\/[^\/]*\/[^\/]*$匹配:

^             start of string
\/            exactly 1 /
[^\/]*        0 or more non-/ characters ("category")
\/            exactly 1 /
[^\/]*        0 or more non-/ characters ("state")
$             end of string

您当然可以修改[^\/]*以更精确地限制被视为州或类别的内容(例如[^\/]+不允许空字符串,而\w*仅允许字符)。