如何使URL的正则表达式更具体?

时间:2012-04-13 07:02:12

标签: regex

我有以下正在尝试匹配网址的正则表达式:

/((http|https):(([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2}){2,}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*(),;/?:@&~=%-]*))?([A-Za-z0-9$_+!*();/?:~-]))/g

如何修改此正则表达式以仅匹配单个域的网址?

例如,我只想匹配以http://www.google.com开头的网址?

这应该简化我的正则表达式,但是我太过于使用正则表达式noob来使它工作(毕竟这些年......)

1 个答案:

答案 0 :(得分:1)

您是否写过RegEx?我不知道它正在尝试做什么,但它肯定无法正确匹配URL。这是匹配的东西:

http:@@#9@?~

我非常确定它不是有效的网址。

您不应该使用RegEx来匹配此类网址。你还没有说过你在使用什么语言,但是使用urlparse的等价物是什么......

以下是相关问题:How do you validate a URL with a regular expression in Python?