1

こんにちは、ファイル名と拡張子を一致させる必要があります。

問題は、パスが unix と windows の両方である可能性があるため、/ または \ で区切られていても unix が許可することです。したがって、t.est.txt も一致する必要があります。

私のコード:

var regex = new RegExp('[\\/]?([/\w+.]+/\w+)/\s*$');
var value = this.attachment.fileInput.dom.value;
console.log(value.match(regex));
console.log(regex.exec(value));

この正規表現はrubularで正常に動作します。しかし、何らかの理由で、つまり、chrome と firefox はどの文字列とも一致せず、null を返します。

4

3 に答える 3

8

\次のように、最後のorに続いて最後にあるものをすべて取得できます/

var file = str.match(/[^\\/]+$/)[0];

(ファイルに常に拡張子が必要なわけではないことに注意してください)

ただし、拡張子の一致を本当に強制したい場合は、次のようにします。

var file = str.match(/[^\\/]+\.[^\\/]+$/)[0];
于 2013-10-10T09:55:22.523 に答える