我有两种形式的URL:
-
/new-doctors/name-of-region
|例如:/new-doctors/northern-california
-
/new-doctors/<state abbreviation>/name-of-city
|例如/new-doctors/ca/san-francisco
路径的第一部分总是相同的(new-doctors
)
regex应该只生成第二项,也就是说,只生成带有两个字母的状态缩写的URL。
我正在寻找的逻辑是:
- 路径以"/newdoctors/"开头
- 那么有两个字母a-z吗
- 然后有另一个"/"
这将匹配,因为URL类型1在URL 的第二段中总是超过2个字母
您可以使用类似的东西:/new-doctors/[a-z]{2}/
(此处提供示例)。
表达式将匹配/new-doctors/
,后面跟2个({2}
)小写字母([a-z]
),后面跟另一个/。
要匹配第二个url,可以使用以下正则表达式:
/new-doctors/[a-zA-Z]{2}/[^/]+
如果您想使用相同的正则表达式来匹配两者,您可以使用
/new-doctors(?:/[a-zA-Z]{2})?/[^/]+
使用(?:/[a-zA-Z]{2})?
,我将缩写部分作为url内的可选部分。