2

我试图找出一个正则表达式序列,它将匹配下面列表中的第一项但不匹配其他两项,{Some-Folder} 是可变的。

http://www.url.com/{Some-Folder}/
http://www.url.com/{Some-Folder}/thing/key/
http://www.url.com/{Some-Folder}/thing/119487302/

http://www.url.com/{Some-Folder}/{something-else}

本质上,我希望能够检测到以下形式的任何内容:

http://www.url.com/{Some-Folder}/

或者

http://www.url.com/{Some-Folder}

但不是

http://www.url.com/{Some-Folder}/{something-else}

到目前为止我有

http://www.url.com/[A-Z,-]*\/^.

但这不匹配任何东西

4

4 回答 4

2
http://www.url.com/[^/]+/?$

或者,在少数\Z用作文本结尾的解析器中,

http://www.url.com/[^/]+/?\Z
于 2013-06-06T08:26:22.693 回答
1

我自定义了一个我之前用于 URL 解析的正则表达式,它并不完美,一旦 gTLD 被更多使用,将需要更多的工作。无论如何,这里是:

\bhttps?:\/\/[a-z0-9.-]+\.(?:[a-z]{2,4}|museum|travel)\/[^\/\s]+(?:\/\b)?

您可能想要为您使用的任何语言添加不区分大小写的标志。

演示:http ://rubular.com/r/HyVXU30Hvp

于 2013-06-06T08:32:48.500 回答
0

您可以使用以下正则表达式:
(?m)http:\/\/www\.example\.com\/[^\/]+\/?$

解释:

  • (?m):分别设置匹配行首和行尾的m修饰符^$
  • http:\/\/www\.example\.com\/: 匹配http://www.example.com/
  • [^\/]+:匹配除/一次或多次以外的任何内容
  • \/?: 可选匹配/
  • $: 声明行尾

在线演示

于 2013-06-06T08:31:28.687 回答
0

我一直在寻找这个确切问题的答案。aaaaaa123456789 的回答几乎对我有用。但是 $ 和 \Z 没有用。我的解决方案是:

http://www.url.com/[^/]+/?.{0}
于 2018-01-24T20:32:55.837 回答