,

CRUD Explorer サポートページ

subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link
subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link
subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link
subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link
subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link
subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link
subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link
subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link

正規表現のススメ

正規表現は魔法の道具

UNIXの世界で発展してきた正規表現ですが、その便利さ故に魔法の道具と称されていました。
今ではUNIXのみならず、Windows等でも当たり前のように使用できるようになっており、テキストエディタ、メールクライアント等でも対応しているソフトが増えてきました。
実は、CRUD Explorerのクエリーの解析処理の中核は、正規表現で実現しています。
また、CRUD Explorerのフィルタや検索機能の殆どで、正規表現をサポートしています。正規表現を理解することで、CRUD Explorerをより活用することができるのです。
取っ付きづらいと思われがちな正規表現ですが、これを機会に覚えてみてはいかがでしょうか。いろいろな場面で活用できると思います。

正規表現でできること

正規表現でできることは、文字列の検索および置換です。
通常、インターネットで検索するためには、「検索ワード」を指定します。検索エンジンにもよりますが、それほど複雑な検索を行うことはできません。
正規表現では、検索条件として正規化された複雑なパターンを指定することが可能です。

メタキャラクタとリテラル

検索条件として指定する文字列には、通常の文字を意味するリテラルと、特殊な意味を持つ文字のメタキャラクタがあります。
検索条件として「CRUD」を指定した場合、CRUDと完全に一致する部分が適合(マッチ)します。この場合の「CRUD」は、リテラルです。
また、「[0-9]{3}」を指定した場合、数字3桁と一致する部分がマッチします。この検索条件の「[」や「-」、「{」等は特殊な意味を持つ文字で、メタキャラクタと言います。
メタキャラクタを含んだ検索条件は、なにやら呪文のように見えるかもしれませんが、メタキャラクタの組み合わせによって、複雑な検索条件の指定を可能にしています。

エスケープ

検索文字列中の「[」等はメタキャラクタのため、特殊な意味を持ちます。しかし、「[」自体を探したい場合に困ります。メタキャラクタの文字自体にマッチさせたい場合、文字の前に「¥」記号を付けることで検索できるようになります。これをエスケープと呼びます。「¥」自体を検索文字としたい場合、「¥¥」と指定します。(¥は半角で指定してください)

文字クラス

「[]」で囲んだ文字列中の1文字にマッチさせるための条件指定方法です。
「[abc]」はaまたはbまたはcにマッチします。
文字クラスでは、文字コードの範囲指定が可能です。
「[0-9]」は数字の0〜9にマッチします。
「[a-z]」は英小文字のa〜zにマッチします。
「[0-9a-z]」は、数字の0〜9または英小文字のa-zにマッチします。
「[0-9a-zA-Z._]」は、数字の0〜9、英字及び「.」または「_」にマッチします。

否定文字クラス

指定した文字の何れにも含まれない文字にマッチさせたい場合、否定文字クラスを使用します。
否定文字クラスは、「[]」内の先頭に「^」を付けます。
「[^0-9]」は数字以外の文字にマッチします。
「abc[^a-zA-Z]」は、abcの後に英字以外が続く文字列にマッチします。

任意の文字

「.」(ピリオド)は任意の1文字という意味があります。
「123...」は、123の後に任意の3文字が続く文字列にマッチします。

選択

複数の選択肢のいずれかにマッチさせる場合、選択肢を「|」で区切ります。
「top|bottom|left|right」は、「top」または「bottom」、「left」、「right」のいずれかにマッチします。

量指定子

直前のパターンの繰り返しにマッチさせる場合、繰り返しの数を量指定子で表現します。
量指定子には以下の種類があります。

?
0または1個
*
0個以上
+
1個以上
{n}
n個
{n,m}
n個からm個
{n,}
n個以上

「[a-z]+」は1文字以上の英小文字にマッチ。
「https?」は「http」または「https」にマッチ。

位置に対する条件

これまでの条件は、文字に対する条件でした。本項で説明するのは、位置に対する条件となり、理解し難いかもしれません。しかし、正規表現を活用するためには、文字に対する条件と位置に対する条件を組み合わせることにより、的確な条件指定が可能になりますので、確実に理解することをお薦めします。
位置に対する条件には以下の種類があります。

^
文字列の先頭
$
文字列の末尾
\b
単語境界
\B
単語境界以外
\<
単語の先頭
\>
単語の末尾

「^」は検索対象の文字列の先頭を意味します。
「^[A-Z]{3}[0-9]{2}」は、文字列の先頭から英大文字3桁+数字2桁にマッチします。
「\b」などは単語を意識した条件になります。
「IF」という検索条件で、「SHIFT」を検索すると。SHIFT内のIFの部分がマッチします。「IF」という単語にマッチさせたい場合、「\bIF\b」と指定することで、SHIFTはマッチしなくなります。

グループ化

coming soon...

 




 


 


 

 

 

 




MailTo:WebMaster