正規表現
フォームデザイナーで[正規表現]オプションを選択すると、表示されるデータの構造をプログラムできます。
テキストキャプチャタイプのみが、完全な正規表現機能を提供します。その他のキャプチャタイプには、データ入力を制御するその他のシンプルな制限があります。
次の表は、[正規表現]フィールドで使用できる一般的な文字と、実行されるマッチングの例を示します。
フィールド |
内容 |
例 |
一致 |
---|---|---|---|
^ |
行の先頭に一致する |
これは正規表現の入力の開始点を示すものです |
|
$ |
行の末尾に一致する |
これは正規表現の入力の終了点を示すものです |
|
. |
任意の文字に一致する |
^a.c$ |
abc、a2c、axc |
| |
OR(または) |
^abc|xyz$ |
abcまたはxyz |
[…] |
括弧内に含まれるものと一致する |
^[A-E]$ |
大文字のA~Eのみ使用可能 |
[^…] |
括弧内に含まれないものと一致する |
^[^A-E]$ |
大文字のA~Eは使用不可 |
{x} |
一致回数が正確に「x」 |
^[A-E]{2}$ |
大文字のA~Eのみを使用できます。少なくとも2文字を含む必要があります |
{x,y} |
一致回数が「x」~「y」 |
^[A-E]{2,4}$ |
大文字のA~Eのみを使用できます。少なくとも2文字を含み4文字を超えることはできません |
{x,} |
一致回数が「x」以上 |
^[A-E]{2,}$ |
大文字のA~Eのみを使用できます。少なくとも2文字を含む必要がありますが合計数は無制限です |
+ |
「+」の前の文字の一致回数が1回以上 |
^ab+c$ |
abcまたはabbbcに一致 |
? |
「?」の前の文字の一致回数が1回以下 |
^ab?c$ |
acまたはabcに一致 |
! |
使用できない文字の一致を切り替える |
^(?!000)[0-8][0-9]{2}$ |
001から899の3桁は許容されますが、000という特定の数字は許容されません |
例:国民保険番号
^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-D]{1}$
以下はこの正規表現の説明です
- ^は文字列の開始を意味します
- [A-CEGHJ-PR-TW-Z]{1}は最初の文字に一致します。D、F、I、Q、U、またはVにすることはできません
- [A-CEGHJ-NPR-TW-Z]{1}は2番目の文字に一致します。D、F、I、O、Q、U、またはVにすることはできません
- [0-9]{6}は6桁でなければなりません
- [A-D]{1}は、最後の文字(A、B、C、またはDのみ)に一致します
- $は文字列の終了を意味します
次の図は、有効な国民保険番号です。
次の図は、無効な国民保険番号です。
社会保障番号の例
^(?!000|666)[0-8][0-9]{2}-(?!00)[0-9]{2}-(?!0000)[0-9]{4}$
以下はこの正規表現の説明です
- ^ - 文字列の開始を意味します
- (?!000|666) – 000または666は入力できません
- [0-8][0-9]{2} – 最初の桁は0~8、次の2つの桁は00~99に一致します
- - – ユーザーはハイフンを区切り文字として入力する必要があります
- (?!00)[0-9]{2} – 2つの桁が01~99に一致しますが、00は許容されません
- - – ユーザーはハイフンを区切り文字として入力する必要があります
- (?!0000)[0-9]{4} – 4つの桁が0001~9999に一致しますが、0000は許容されません
- $ - 文字列の終了を意味します
次の図は、有効な社会保障番号です。
次の図は、無効な社会保障番号です。