用于支持默认链接和带数字符号 (#) 的链接的正则表达式 [重复]
Posted
技术标签:
【中文标题】用于支持默认链接和带数字符号 (#) 的链接的正则表达式 [重复]【英文标题】:regex for supporting both default link and links with number sign (#) [duplicate] 【发布时间】:2019-08-07 06:23:35 【问题描述】:我需要一个正则表达式来验证客户端的两种默认链接格式。
例如http://example.com
和#myInternalLink
是有效的。
我写了这个,但没有工作。
^(((http|https)://(([A-Z0-9][A-Z0-9_-])(.[A-Z0-9][A-Z0-9_ -])+)(?::\d1,5)?(?:$|[?/#])) | (#([A-Z0-9][A-Z0- 9_-]*)))
已经回答的问题只是解决了默认链接格式。我想在同一个正则表达式中验证 http://example.com
和 #myInternalLink
【问题讨论】:
我认为http:://example.com
和#myInternalLink
都不是有效的网址...
@appleapple 为什么?什么是有效的网址?
我编辑了我的问题并使用了链接而不是 URL。
http:://
不是有效的协议。 http://
是。 #myInternalLink
是一个片段 - 不是 URL。可以将片段与街道号码进行比较 - 这不是完整的地址。
@mahsaa,我认为有效的网址有一个:
【参考方案1】:
查看https://www.rfc-editor.org/rfc/rfc3986 了解什么是有效的 URL。关于你的正则表达式,看看What is a good regular expression to match a URL?
【讨论】:
为什么投反对票?以上是关于用于支持默认链接和带数字符号 (#) 的链接的正则表达式 [重复]的主要内容,如果未能解决你的问题,请参考以下文章