正規表現ワンポイント:文字列の長さを指定する方法
様々な文字を指定できる正規表現で、文字列の長さを指定する方法をご紹介します。
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’]
ディスカッション
コメント一覧
まだ、コメントがありません