我有这种情况,用户可能会输入带有或不带有http(s)://
. 如果它在那里,我想拥有它,否则添加http://
我自己。我有以下正则表达式模式:
正则表达式:\[url\](?:https?\:\/\/)?(.*?)\[\/url\]
替换:<a href="$1">$1</a>
这使得这
[url]http://blog.sanspace.in[/url]
[url]https://blog.sanspace.in[/url]
[url]blog.sanspace.in[/url]
[url]blog.sanspace.in/scraperwiki[/url]
[url]www.sanspace.in[/url]
进入这个
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="http://blog.sanspace.in/scraperwiki">http://blog.sanspace.in/scraperwiki</a>
<a href="http://www.sanspace.in">http://www.sanspace.in</a>
现在,我想做的就是这样。(如果可用,使用 http(s)。否则,使用 http)
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="https://blog.sanspace.in">https://blog.sanspace.in</a>
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="http://blog.sanspace.in/scraperwiki">http://blog.sanspace.in/scraperwiki</a>
<a href="http://www.sanspace.in">http://www.sanspace.in</a>
我尝试将其添加http(s)
为一个组。
正则表达式:\[url\](https?\:\/\/)?(.*?)\[\/url\]
替换:<a href="$1$2">$1$2</a>
ut,在这种情况下更换顺序$1
和$2
是不同的。如果用户添加了http
它$1
,则 URL 变为$1
.
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="https://blog.sanspace.in">https://blog.sanspace.in</a>
<a href="blog.sanspace.in">blog.sanspace.in</a>
<a href="blog.sanspace.in/scraperwiki">blog.sanspace.in/scraperwiki</a>
<a href="www.sanspace.in">www.sanspace.in</a>
注意最后 3 个 URL。在这里我必须添加http
,但前提是我知道没有添加用户http
。我不确定如何实现我的目标。
我在这里测试这个问题。http://regexr.com?3711a