Javascriptで複数のワードにマッチしている場合、true
マッチしていない場合はfalse
を返すプログラムを作りました
※es6が使えないのでvar
使ってます
1 2 3 4 5 6 7 | var text = '今日はりんごとぶどうとブルーベリーとカレーを食べました。おいしかったです。'; var matcha1 = /(?=.+りんご)(?=.+ぶどう)(?=.+カレー)/; var matcha2 = /(?=.+りんご)(?=.+ぶどう)(?=.+ハヤシライス)/; console.log(matcha1.test(text)); console.log(matcha2.test(text)); |

正規表現得意でないので今回はじっくり調査して作りましたが、
やはり慣れていないのでかなり苦労しました
上記のコードでは、最低1回以上全て出現すること、が条件となっています
もしどれか一つだけ、とかだったらor表現の |
を入れるとできます
1 2 | var matcha1 = /(?=.りんご)|(?=.+ぶどう)|(?=.+カレー)/; var matcha2 = /(?=.りんご)|(?=.+ぶどう)|(?=.+ハヤシライス)/; |

ちなみに今回はJavascriptで実装しましたが、Javaのコードを参考にして作ったので、JavaとかRubyとかでもだいたい似たようなコードになると思います
調べても該当する記事がなかったので参考になれば幸いです