我必须匹配文本中的 URL,链接它们,然后只向用户显示主机——域名或 IP 地址。我该如何继续使用 JavaScript?
谢谢。
PS:请不要告诉我this ; 那些 正则表达式错误太多,无法匹配http://google.com
最佳答案
如果您不想使用正则表达式,那么您需要使用indexOf
之类的东西来代替。例如,在每个元素的文本中搜索“://”,如果找到它并且它前面的位看起来像一个协议(protocol)(或“方案”),则捕获它和后面的字符是有效的 URI 字符(RFC2396)。如果结果以点或问号结尾,请删除点或问题(它可能结束一个句子)。真的没有太多要说的了。
更新:啊,我从你的编辑中看到你对正则表达式没有问题,只是那个问题的答案中的问题。很公平。
这很可能是那些尝试用正则表达式全部来完成它应该做的更多工作的地方之一,但是使用正则表达式作为部分该解决方案很有帮助。例如,
/[a-zA-Z][a-zA-Z0-9+\-.]*:\/\//
...可能是查找 URL 的开头的有用方法,因为方案部分必须以字母开头,然后可以有零个或多个字母、数字、 +
、-
或 。
在 之前:
( section 3.1 )。
关于javascript - 在 JavaScript 中获取 URL 的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4578266/