ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

NCMBの正規表現を使う際の注意点

f:id:mbaasdevrel:20180913163950p:plain

あまり知られていませんが、NCMBでのデータストアでは正規表現を使った検索が行えます。MongoDBが実装する正規表現は使えるのですが、相違点も幾つかあります。

ここでは実装時の注意点を紹介します。

オプションは使えません

$regex — MongoDB Manualによればオプションが指定できるのですが、NCMBでは使えないので注意してください。オプションがないので、大文字小文字での検索を行う際には注意が必要かも知れません。

メタ文字利用時の注意

メタ文字(\A、\s、\Zなど)を指定する際には \\ としてください。以下のようにしないと正しく解釈されません。

'\\A.*?\\s.*\\Z'

( などのエスケープ時にも \\( とする必要があります。

マッチは使えません

置換はありませんので、マッチは利用できません。

文字列として記述します

MongoDBのドキュメントでは /.*Test/ のように書く記述がありますがNCMBの場合は一旦JSONに変換する関係上、正規表現は文字列として書きます。

まとめ

正規表現を使いこなせば、より柔軟にデータストアの検索ができるようになります。ぜひマスターしてください!

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。