次のようなパターンがあります。
文書データ/ファイル名.xyz
「ファイル名」のみを返す正規表現を作成しようとしています。「xyz」のみを提供するものがありますが、それは機能し、「Filename.xyz」を提供するものもありますが、ファイル名を取得するためにxyzを切り落とすのに問題があります。
[^/]+$
私"Filename.xyz"
\[^.]+$
にくれますxyz
私は正規表現の人ではないので、どんな助けも素晴らしいでしょう! ありがとう!
次のようなパターンがあります。
文書データ/ファイル名.xyz
「ファイル名」のみを返す正規表現を作成しようとしています。「xyz」のみを提供するものがありますが、それは機能し、「Filename.xyz」を提供するものもありますが、ファイル名を取得するためにxyzを切り落とすのに問題があります。
[^/]+$
私"Filename.xyz"
\[^.]+$
にくれますxyz
私は正規表現の人ではないので、どんな助けも素晴らしいでしょう! ありがとう!
先読みを使用してみてください(?=...)
:
/[^\/.]+(?=\.[^.]+$)/
先読みはチェックのみを実行し、その後に何も一致しないことを意味します。
2 つを組み合わせて、最初の部分をキャプチャ グループにラップします。
"document_data/Filename.xyz".match(/([^/]+)\.[^.]+$/)[1]
それが役に立てば幸いです(参照:http://planetozh.com/blog/2008/04/javascript-basename-and-dirname/)
function basename(path) {
return path.replace(/\\/g,'/').replace( /.*\//, '' ).replace( /\..*/, '' );
}