正規表現ワンポイント:文字列の長さを指定する方法

様々な文字を指定できる正規表現で、文字列の長さを指定する方法をご紹介します。

3文字の「あ」を指定したい場合

直接書いて指定する

/あああ/

文字で直接指定することができます。

正規表現の基本

”デリミタ”で正規表現のパターンを囲うことで範囲を明確にします。一般的にデリミタには / (スラッシュ)を用います。
※スラッシュ以外の記号を使用することもあります。
※正規表現はすべて”半角記号英数字”です。
※ページ最後に正規表現チェッカーがあるので、すぐにお試しいただけます。

繰り返しでスマートに指定

/あ{3}/

指定したい文字の後ろに、指定したい長さを中括弧 {} の中に書くと、3文字を指定できます。

100文字などの場合は、直接書いていくと大変なことになるので、繰り返しで指定するととてもスマートです。

3文字から5文字の「あ」を指定することもできます。

/あ{3,5}/

指定したい文字の後ろに、指定したい最小の長さと最長の長さをカンマ , で区切り中括弧 {} の中に書くと、3文字から5文字のような幅のある指定をできます。

繰り返し指定の仲間

具体的な数字を指定するのではなく、0回以上などの指定ができます。

機能正規表現
*0回以上
+1回以上
?0回または1回
繰り返し指定の仲間

最初は使い方のイメージができないかもしれませんが、例とともにご紹介します。

*の繰り返し0回の使い方例

あってもなくても良い文字のことです。

/天気*/
対象文字該当数
こんにちは!今日の天気は晴れです。1

この様に天気から後ろすべてといった使い方ができます。

+の繰り返し1回の使い方例

例えば、文中から商品の価格を正規表現で抽出したい時などに使用します。

/[0-9]+円/
対象文字該当数
キャベツの値段は300円でした。1

?の0回または1回の使い方例

/https?:/
対象文字該当数
このサイトのURLはhttp://www.ghogehoge.comです。1

あってもなくても良い1文字なので、この例のようにセキュアなサイトだとhttps:、セキュアでないサイトだとhttp:とsの有無があります。そのような差異を吸収して指定する場合に使用します。

いかがでしたか?
使用例を参考に下の正規表現チェッカーで試してみてください。

正規表現チェッカー

[myphp file=’regchecker’]

正規表現

Posted by 管理者