javascript - 在 JavaScript 中获取 URL 的一部分

标签 javascript regex url

我必须匹配文本中的 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/

相关文章:

regex - 如何使用 PostgreSQL 从任何 URL 中提取顶级域

javascript - 如何使用卡住库加载谷歌图表?

javascript - 像 SQL 一样使用 %LIKE% 在数组中搜索

javascript - 在断开连接触发器之前检查客户端重新连接

c# - 使用正则表达式删除字符

c - 局部变量转换为全局变量?

c++ - 从 boost::regex 获取子表达式(匹配前)

url - Bigcommerce 重复网址

java - 任何人都可以帮助我通过改造从网络服务中获取数据吗?

javascript - 将 Node JS 与 LDAP 连接