# 検索

TOMBOでは以下の2種類の検索が行えます。

- 一覧ビューから検索した場合 - メモ全体から特定のキーワードがあるメモを検索
- 詳細ビューから検索した場合 - 特定のメモからキーワードを検索

いずれも初回はメニューの検索でキーワードを指定します。オプションは以下の3つです。

- 大文字小文字を区別するか
- 暗号化されたメモを検索対象に含めるか(一覧ビューからの検索の場合のみ)
  − 必要に応じてパスワードを聞いてきますので、入力してください。
- ファイル名に対して検索を行う
  − 本文については検索対象としなくなります。ただし、スピードはあまり早くなりません :-<

一覧ビューで検索した場合もヒットした場合、詳細ビューに移動し、該当する箇所がハイライトされます。
また、一旦検索を行った後には「次を検索」「前を検索」で次の候補を探すことができます。

## 正規表現

1.2b1から検索文字列として正規表現が使用可能となっています。 「正規表現とは何ぞや?」という質問については書籍やWWWに良いドキュメントがありますのでそちらに譲ります。

- ruby由来のGNUの正規表現ライブラリを使用しています。その辺で通る表現は通ると思います。
- 使用可能な表現のうち、主なものは以下の通りです。(もっとある)
  "." "*" "+" "?" "{n}" "{n,m}" "{,n}" "|" "[ ... ]" "[^ ... ]" "( ... )" "\digit" "^" "$" "\b" "\B" "\<" "\>" "\w" "\W" "\`" "\'" "\d" "\D" "(? ... )" ...
- 漢字は1文字として扱われます。
- マッチはSJISで行われます。漢字での範囲指定やコードを直接設定する場合にはご注意ください。

### 正規表現 mini TIPS

まるっきり説明しないのも寂しいので、Q&A風にいくつか例題を挙げておきます。 別解は山のようにあるのでいろいろ探してみてください。

#### "仕事"と"TODO"で検索したい

"仕事|TODO"でどちらかが出ます

#### DOSの"*"みたいなことをやるには?

".*"(ピリオド-アスタリスク)"と書きます..が、そのまま書くと全部の文字に引っかかってしまうため、"a.*"や".*a"のように使わないと意味がないです。 ちなみにDOSと違って、"a.*b"のように前後に文字がついていてもOKです。

#### *や+など、正規表現に使われている文字を検索したいんだけど?

"\*"や"\+"のように文字の前に"\"をつけます

#### "2002/8/26"のような年月日を検索したい

それなりに厳密にやるのでしたら"[12]\d\d\d/[01]?\d/[0-3]?\d" とかどうでしょう？ ある程度アバウトにやるのであれば、"[0-9/]+"で検索できます。 同じ文字列や、"99/"も引っかかっちゃいますが...

#### "20020826"だったら？

"[0-9]{8}"とかが一番近いでしょうか？？

#### "買い物" "買物"を検索したい

素直に"買い物|買物"とやるか、"買い?物"とかどうでしょう？

#### 鹿児島県鹿児島市のように県と市が同じものを検索したい

"(...)県\1市"で行くと思います。静岡県静岡市にもマッチさせるのであれば、 "(..?)県\1市"でいくでしょう。

目次