我环顾四周一段时间,但很可能我不能用合适的关键字“谷歌”。所以我来了。我需要与第一个/
目标:匹配http://到第一个/的第一个子字符串(可能最后/不存在),或者匹配到末尾,这里出现了一个问题:
我写了这个regex
(?<=/)(.*?)
但是这个正则表达式只匹配至少1 '/‘的url,最后不包括协议。
这里有一些要匹配的网址:
发布于 2012-12-04 13:53:49
^(?:\w+://)?([\w.-]+)/?.*$(用于Java的双反斜杠)似乎适用于所有示例,包括一个简单的www.google.com
发布于 2012-12-04 13:56:35
就像..。
^(https?:\/\/)?([0-9a-zA-Z][-\w]*[0-9a-zA-Z\.)+[a-zA-Z]{2,6})\/我在一本书里看到了这个。这应该说明变量http/https、不允许空白,并且可能在第一个斜杠处停止。
如果我做错了评论。
发布于 2012-12-04 13:57:13
这适用于所有示例,但最后一个示例是:
(?<=//)[^/\\s]+[^/\\s]是一个否定的字符类,它匹配除/和\s以外的每个字符(空格,例如空格、制表符或换行符)
看吧,在Regexr上
不能工作的是最后一行。你想如何决定什么是链接?如果我使第一部分是可选的,它将匹配除和空格.以外的所有字符。
https://stackoverflow.com/questions/13704362
复制相似问题