ユーザーが URL の有無にかかわらず入力する状況があります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>
その場合、交換順序$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