質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

解決済

2回答

16199閲覧

JSでURLの最後のディレクトリを抽出する方法

yuta0801

総合スコア270

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

1クリップ

投稿2017/03/19 02:03

編集2017/03/19 02:46

JavascriptでURLの最後のディレクトリを抽出する方法ほ教えてください

"http://example.com/hoge/fuga/" // fuga

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2017/03/19 02:15

実現手段として正規表現を指定した理由は何でしょうか。
guest

回答2

0

ベストアンサー

個人的には、正規表現を使用することはあまりお勧めしませんが、以下のように行うのはいかがでしょうか。
正規表現で行う場合

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>タイトル</title> 6 <style type="text/css"> 7 * { 8 margin: 0; 9 padding: 0; 10 } 11 </style> 12</head> 13<body> 14<script> 15 let str = "http://example.com/hoge/__fuga__/"; 16 let result = str.match(/([^\/.]+)/g); 17 alert(result[result.length - 1]); 18</script> 19</body> 20</html>

正規表現を使用しない場合

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>タイトル</title> 6 <style type="text/css"> 7 * { 8 margin: 0; 9 padding: 0; 10 } 11 </style> 12</head> 13<body> 14<script> 15 let str = "http://example.com/hoge/__fuga__/"; 16 let result = str.split("/").filter(e => Boolean(e)); 17 alert(result[result.length - 1]); 18</script> 19</body> 20</html>

投稿2017/03/19 02:59

編集2017/03/19 03:13
s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

例えば必ず'/'が2つ存在していると仮定すると

/に続き/以外の文字が1個以上並んだ後/が出現し、そこから末尾まで/が存在しない」

という考え方でよいと思います。'/'が一つしかないパターンは上のパターンにさらに工夫をすることになりましょうか。

directory/fileのようなパターンなら簡単ですがprotcol:/fileのようなパターンを想定するかしないか、想定した際に/を結果としたいかどうかなど想定条件により正規表現は簡単にも複雑にもなると思います。

投稿2017/03/19 03:06

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問