JavaScriptの勉強をしています。
正規表現の勉強をする時に replace()を使って
コンソールに出力し動作確認をして、使い方を勉強しています。
ところが以下のように入力してみたところ
Javascript
1var AA= "2013-08-15"; 2var DD=AA.replace((/-?/), '/'); 3console.log(DD);
結果は
「/2013-08-15」になります
私の感覚では「/08-15」になると思っていたのですが、
実際の出力結果は上記の通りです。
replace()の機能で文字を置換するはずですが、
「/2013-08-15」ではどの文字も置換されていません。
以下のページによると
正規表現一覧
http://gimite.net/help/devas-ja/all_regex.html
正規表現検索とは
http://gimite.net/help/devas-ja/100regex.html
「? 直前の文字は省略可能 he?lp hlp または help 」
とあるし、replace()を使っているのでどこかの文字が置換されるはずなのですが
「/2013-08-15」の結果は、どの文字も全く置換されていません。
なので「?」をどう解釈すれば良いのかわかりません。
正規表現に詳しい方、説明の上手な方、お手数ですが、
「?」をreplace()を使った場合の解釈について教えて下さい。
追記
JavaScriptで正規表現の勉強をする時に
replace()の他にわかりやすい(動作を確認しやすい)
メソッドがあれば教えて下さい。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/22 05:36
2019/06/22 05:43