LANG SELRCT

Google Apps Scriptのコードを書く場所  (新規作成: スプレッドシート | スクリプトエディタ

2019年6月24日月曜日

正規表現でAND検索を試してみる2


正規表現でAND検索を試してみる1
でやったことをもっと効率的な

/^(?=.*文字列1)(?=.*文字列2)/

で試してみます


ABO に AとOが両方含まれるか

コード.gs
function getAndConditional() {
  var str = 'ABO';
  var regexp = /^(?=.*A)(?=.*O)/;
  var result = regexp.test(str);
  Logger.log(result);
}

実行結果は true


パターンを動的に作りたい

コード2.gs
function getAndConditional2() {
  var str = 'ABO';
  var values = ['A', 'O'];
  var pattern = '^';
  for(var i = 0; i < values.length; i++) {
    pattern += '(?=.*' + values[i] + ')';
  }
  Logger.log(pattern);
  var regexp = new RegExp(pattern);
  var result = regexp.test(str);
  Logger.log(result);
}


実行結果


参考

正規表現はこちらの記事を参考にさせていただきました
正規表現で論理積(AND)を実現する
https://qiita.com/n4o847/items/dbcd0b8af3781d221424


正規表現

正規表現パターンの記述

最新の投稿

Pixel 5でSuicaが使えないときはGoogle PayでSuicaを有効にしてみる

Pixel 5への機種変でSuicaが使えない人向けに書きました。 MISSION Pixel 5でSuicaを使えるようにする SOLUTION 旧端末で機種変更の設定を行う NFCをオンにする Google PayでSuicaを有効にする PROBLEMS 以前...