top of page

FileMakerで正規表現を使う 2/2


こんにちは。ティーマネジメントの田中です。


こちらは前回記事の続きとなります。

前回記事でご紹介した、正規表現をFileMakerで扱う方法について紹介します。



FileMakerで正規表現を使用する

FileMaker Pro 2023時点では、正規表現を利用できる関数は実装されていません。

代わりに、WebViewer機能と、JavaScriptを用いて計算を行います。



住所から都道府県を抜き出す 準備

FileMaker Pro側で、抜き出すための準備を行います。

1. レイアウト上にWebビューアを配置する

2. 住所が入っているテキストフィールドを用意する

3. 結果を格納するフィールドを用意する


Webビューアのアドレス部分は空欄にしておきます。


では、スクリプトを記述していきます。

スクリプトでは次のことを行います。

1.       JavaScript関数を作成する

2.       Webビューアで関数を実行させる



JavaScriptで正規表現に一致する結果を受け取るには、matchメソッドを使用します。


「テキストを挿入」スクリプトステップでJavaScript関数を作成します。

下記のテキストを、変数「$function」に代入します。

(function (text){

 const regex = ".{2,3}[都道府県]";
 FileMaker.PerformScript("結果の格納" , text.match(regex) );

})

「text」は、関数の引数です。

「regex」が今回、都道府県名の一致に使用する正規表現になります。

「任意の2~3文字の後に、[都道府県]のいずれか1文字が続く」場合に一致します。

「FileMaker.PerformScript」は、「結果の格納」というFileMakerのスクリプトを、

textからregexにマッチした文字を引数として実行する、ということになります。


「結果の格納」というFileMakerスクリプトは、JavaScriptから呼び出されますので、

次のように設定します。

フィールド設定の1ステップのみで問題ありません。


WebビューアでJavaScriptを実行 ステップでは、次のようにオプションを設定します。


オブジェクト名にはWebビューアのオブジェクト名を指定します。

関数名は先ほど作成した変数$function、

引数には元のテキストを指定します。今回は元のテキストには住所が入っています。



住所から都道府県を抜き出す 実行

元のテキストにはサンプルとして、住所を記載しました。

スクリプトを実行して結果を確認してみます。


実行↓

テキストから都道府県名だけ抜き出されています。


次に、都道府県名を複数入れてテストをしてみます。


実行↓

最初に一致した、「東京都」が抜き出されています。

matchメソッドでは最初に一致したものが返されます。



まとめ

正規表現を知ると、1つの記述で様々な文字列と一致させることができるため、

スクリプトで行えることの幅が広がります。

私もまだまだ学習中ですが、何かやりたい処理のヒントになれば幸いです。 前の記事へ  → FileMakerで正規表現を使う 1/2

bottom of page