-2

これまで正規表現を使用したことがなく、URL からスキームを削除するよう求められました。これにより、URL がhttp://www.foo.comから //www.foo.com に変換されます。

これが可能かどうか疑問に思っていましたか?そして、絶対的な初心者として私を助けるチュートリアルやウェブサイトを誰かが知っているかどうかを知ること.

あなたが与えることができるどんな助けにも感謝します.

4

2 に答える 2

3

これは基本的な文字列操作で行うことができ、正規表現よりもお勧めします。

ただし、正規表現の使用を主張する場合は、使用している言語の正規表現置換と組み合わせた場合にこれを行う正規表現を次に示します。

^http:
^\   /
| \ /
|  `- Match this string literally
|
`- Match at start of string

削除するhttps:場合は、次のようになります。

^https?:
^\  /^^^
| \/ |||
| |  ||`- Literally match `:`
| |  |`- Previous is optional (literal s)
| |  `- Literally match s
| `- Match this string literally
|
`- Match at start of string

これらはすべて、正確な URL のみをチェックしていることを前提としています。文字列内の任意の場所をチェックしたい場合は、単語境界用の^アンカー (文字列の先頭) を置き換えることができます。\b

\bhttps?:
\/\  /^^^
|  \/ |||
|  |  ||`- Literally match `:`
|  |  |`- Previous is optional (literal s)
|  |  `- Literally match s
|  `- Match this string literally
|
`- Word boundary (typically whitespace, but also `][` and so on

そのパターンに一致するすべての正規表現を '' (空の文字列) に置き換えます。i大文字と小文字を区別しない一致のフラグを追加することをお勧めします。

正規表現に関する優れたチュートリアル サイトは次のとおりです: http://www.regular-expressions.info/

于 2013-07-11T13:22:33.493 に答える
0

PHP での例を次に示します。

 <?php

 $url = 'http://www.foo.com';
 $url = preg_replace('/^http:/i', '', $url);

 print "{$url}\n";
 ?>
于 2013-07-11T13:25:36.777 に答える