我需要一个URL模式,可以识别所有的网址在纯文本。现在我有一个在Java中很好地工作(使用模式):("(@)?(http(s)?://)?a-zA-Z_0-9-+(.\wa-zA-Z_0-9-+)+(/#&\n-=?+\%/.,\w+)?")
它识别了大多数URL,例如:
http://www.aaa.com
www.aaa.com
aaa.com
www.aaa.com/abcd/asdf?a=12
但它无法识别端口号为www.aaa.com:8000或www.aaa.com:8000/asdf的URL。
有任何正则表达式专家可以帮助我解决这个问题,使上面的模式识别端口号的URL吗?
发布于 2014-07-15 23:26:53
我想你可以挤进一个(:\d+)?
# (@)?(http(s)?://)?[a-zA-Z_0-9\-]+(\.\w[a-zA-Z_0-9\-]+)+(:\d+)?(/[#&\n\-=?\+\%/\.,\w]+)?
# "(@)?(http(s)?://)?[a-zA-Z_0-9\\-]+(\\.\\w[a-zA-Z_0-9\\-]+)+(:\\d+)?(/[#&\\n\\-=?\\+\\%/\\.,\\w]+)?"
( @ )?
(
http
( s )?
://
)?
[a-zA-Z_0-9\-]+
( \. \w [a-zA-Z_0-9\-]+ )+
( : \d+ )?
( / [#&\n\-=?\+\%/\.,\w]+ )?https://stackoverflow.com/questions/24768152
复制相似问题