的作品我有以下模式:www.domain.com:8051//模式匹配网址
而下面的两个URL(*)(。*):
WWW。 domain.com:8051/first/second
www.domain.com:8051/first/second/third/fourth
两个URL匹配。但我只想匹配第一个。我必须做什么才能排除“/”作为匹配的字符?
感谢, 琼。
的作品我有以下模式:www.domain.com:8051//模式匹配网址
而下面的两个URL(*)(。*):
WWW。 domain.com:8051/first/second
www.domain.com:8051/first/second/third/fourth
两个URL匹配。但我只想匹配第一个。我必须做什么才能排除“/”作为匹配的字符?
感谢, 琼。
为了排除字符,你应该这样,你的情况使用[^<characters to exclude>]
:
www.domain.com:8051/([^/]*)/([^/]*)
您使用的是贪婪正则表达式量词,当你需要使用不愿意量词。
不是.*
,使用.*?
。当第一次学习如何使用正则表达式时,我发现this cheat sheet非常有帮助。
www.domain.com:8051/(.*?)/(.*?)
编辑: 与位模式乱搞后,我一直没能拿出其工作的模式,但你可以检查上面的图案被发现,并下面的模式是不是:www.domain.com:8051/(.*?)/(.*?)/$
如果这些是唯一的模式,为什么不拆的“/”,并检查长度是多少?
您仍然可以访问组件。
这不符合第二个网址吗? –
- 不正确,已删除 - – Vulcan
由于没有结尾斜杠,所以它们不匹配。 –