2017-02-16 16 views
0

すべてのリンクを見つけて交換する必要があります。しかし、私は正規表現コードを使用することを知らない。 私は一致させたいhttp://sitename.com/FileID/filename.zip正規表現:単語や単語の後に何かをマッチングするには?

は/この部分を見つける:私は、このリンクしてい

http://sitename.com/FileID/NEWWORD-filename.zip

:filename.zipこの方法でそう

を、私はこのような、このリンクを作りたいですリンクがたくさんあり、FileIDがすべて違っています。だから、私はファイル名のセクションに一致したい。

答えて

1

基本的にはあなたのような、あなたが(例えば、それは数値または文字列の特定の長さです)FILEIDに関するすべてのルールを知っていればあなたはそれをより正確に行うことができます最後のスラッシュhttp.*\/(.*) までのすべてを無視したい:http://sitename.com/983032/filename.zip - >http.*\d+\/(.*)

+0

お返事ありがとうございます。しかし、別のドメインから始まる他のリンクがあるので、http://sitename.comで始まる必要があります。 – Yearmaz

+1

regexの貪欲さをうまく使います( '。* \ /(。*)'はもっと短くても)。 BTW **バックスラッシュ**は '\'です、**スラッシュ**は '/'です – Motti

+0

@Yearmazあなたはアイデアを持っているといいですね。 – Rumoku

0

JSに(あなたが使用するすべての言語に適応させることができます)あなたはこのようにこれを行うことができます:あなたはそれは、「サイト名」で新しいバージョンを起動する必要がありますので

var url = 'http://sitename.com/FileID/filename.zip' 
var regex = /.*\/(.*)/; 

var m = url.match(regex); 
console.log(m[1]); 

var regex = /http:\/\/sitename.com\/[^/]\/(.*) 

他の可能な正規表現は次のようになります。

var regex = /[^/]*$/ 

(完全一致は、あなたのファイル名になります。この場合:常にURLの唯一の最後のビットを一致する「filename.zip」)

PS :一部の言語/図書館では見た目のヒントもサポートしていますが、そのすべてがそうでないと思います。

関連する問題