○文字以上、□文字以下
例えば、a+ とすると aa aaaaaaa 等、a1文字以上にマッチします。
+の他にも*があって、これは0文字以上で、
a* で 空文字にもマッチしますし、aaaaa aaaaaaaaa にも当然マッチします。
コンピュータで検索っていうと1対1の検索しか出来ないようでこの正規表現があればできるわけです。
なので、
たった1つの条件文でいろんなところにマッチして便利なんです。
例えば、hello という検索語句で検索すると hello にしか当然マッチしてくれません(1対1)。
正規表現だと、
hel+o とすると、 hello や hellllllllllllo なんかにもマッチしてくれるんです。
?というのもあって、これは a? とすると a が0か1文字という意味で、A?HO とすると HO でも AHO でもマッチしますという感じです。
0か1文字、という範囲もいいけど3〜5文字っていうのは?
これは{3,5}とします。
AHO{3,5} で AHOOO , AHOOOO , AHOOOOO
にマッチします。
3文字以上ならマッチさせたい、っていうのなら
AHO{3,} として5を省略してください。
まとめ
+ は前にきた文字の1文字以上の連続
* は前にきた文字の0文字以上の連続
? は前にきた文字の0文字か1文字
{x,y} で前にきた文字のx文字以上、y文字以下の連続
{x,} で前にきた文字のx文字以上の連続
マスターしたいという方は実際に使ってみることをお勧めします。
実験プログラム
<?
$regex = "a+"; // ここに正規表現を
$str = "aaaa"; // ここに検索対象文字列を
if(ereg($regex,$str))
echo "マッチしました。";
else
echo "マッチしません。";
?>
スポンサードリンク
→
次のページ
もどる