###実現したいこと
regexp = new RegExp("AA|BB|CC|" + '(.*?)', 'g'); chk = "SSAADD".match(regexp).length;
上記コードで、「AA」か「BB」か「CC」が文字列中に含まれていることを返り値で判定したいです。
比較対象のregexpは一定ではないので、indexOfではなくmatchを使用しています。
試しに実行した結果
function test(){ var regexp = new RegExp("AA|BB|CC|" + '(.*?)', 'g'); var chk1 = "SSAADD".match(regexp); var chk2 = "SSLLDD".match(regexp); Logger.log(chk1); Logger.log(chk2); } //Result //合致した部分以外にも空が入っている? [20-05-30 19:07:24:561 JST] [, , AA, , , ] //何故nullじゃない? [20-05-30 19:07:24:565 JST] [, , , , , , ]
matchの返り値は合致した場合は合致した部分の配列が、そうでなければnullが返るはずなのに
ログでは想定外な結果の配列が返ってきています。
これはなぜなのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/30 10:20
2020/05/30 11:01