2016-12-02 5 views
0

ちょっとした文字列を分割しようとしていますので、画像のフルサイズを取得できます。REGEX文字列の後に数字を見つける必要がありますが、検索文字列を除外してください。

は今、私はそれは次のように判明するだろうので、img13後に来て「私は」-w368h38" を削除する「/perch/resources/res-img13-w368h368.jpg」

を持っている/パーチ/資源/ resを-img13.jpg」

私は正規表現を把握しようとしているときを費やしてきたが、私正規表現するのは非常に新しいですし、本当にイムがやって何を知らない。 すべてのヘルプは素晴らしいだろう!

+2

1.イメージ名のいくつかの例を示します。 2.すでに試した正規表現を入れてください。 – Dekel

答えて

0

質問と説明は矛盾します。説明と一緒に行きます。

var str = "/perch/resources/res-img13-w368h368.jpg";  
var regexResult = str.exec(/(.*)(-w\d*h\d*)(.*)/); 
var result = regexResult[1] + regexResult[3]; 

部分(.*)は任意の文字と一致し、それらをグループ化することを意味します。グループ分け(括弧で囲む)は後でその部分にアクセスできます。

(-w\d*h\d*)グループ " - "の直後の " - "、 " - "の直後の " - "文字、 "w"の後の無限または数字、文字 "h"、再び無限または無限の数字のグループ。

最終(.*)グループは残りの文字列です。

[ 
    "/perch/resources/res-img13-w368h368.jpg", //First element is the whole match 
    "/perch/resources/res-img13", //Our first group 
    "-w368h368", //Our second group 
    ".jpg" //Our final group 
] 
+0

その正規表現は、私が思っていたよりも難しかったです。本当にありがとう!それは私のために働いたので、接頭辞が付け加えられていないイメージを手に入れることができました! – Refeiky

0

は、この正規表現^((?:\/.+)+\/.+)-w(\d+)h(\d+)(\..+)を試してみて、それはあなたが探しているものだなら、私に教えて:機能の幹部が、結果は我々が指定したグループを持つ配列であると呼ばれている

。グループ1が/perch/resources/res-img13に一致し、グループ2が幅に一致し、グループ3が高さに一致し、グループ4が拡張に一致します。

var input = "something format_abc"; 
var regex = /^((?:\/.+)+\/.+)-w(\d+)h(\d+)(\..+)/g; 
var match = regex.exec(input); 
console.log("WIDTH: " + match[2] + "px , HEIGHT: " + match[3] + "px"); 
関連する問題