需要一个正则表达式来匹配URL路径中间的状态缩写



我有两种形式的URL:

  1. /new-doctors/name-of-region|例如:/new-doctors/northern-california

  2. /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内的可选部分。

最新更新