正規表現

正規表現を使う場合、次の2通りで表現します。 /で囲むことで、一つの正規表現を行います。(ダブルクォーテーションで囲みません。)
例えば、/.html$/i であれば、小文字大文字を問わない".html" で終わる文字列に対して マッチします。
alert( "abc.html".search(/.html$/i) ); これで 3が表示されます。
"abc.html"のsearchメソッドは、引数で指定した正規表現で文字列を探索して見つかった位置を返します。 この場合は、".html"が3番目文字位置より見つかるので、そうなります。
同じことを、RegExpを使うと、次の表現になります。
alert( "abc.html".search( new RegExp(".html$", "i") ) );
(引数は文字列なので、ダブルクォーテーションで囲みます。/で囲まない点を注目)
javascriptでの実験を示します。

基本的なメタ文字

文字説明 補足・例
.改行以外の任意の一文字 /b..k/ は、book, backの文字列にマッチします
? 直前の正規表現の0回 または 1回に一致で、{0,1}の量指定と同じ /ax?d/ は、xの文字が0回か、1回にマッチするので、以下列挙文字列で太字がマッチ範囲です。"adg", "axdg"
* 直前の正規表現の回以上の繰り返しに一致で、{0,}の量指定と同じ /ax*d/ は、xの文字が0回以上でマッチするので、以下列挙文字列で太字がマッチ範囲です。"adg", "axdg", "axxdg", "axxxdg"
+ 直前の正規表現の回以上の繰り返しに一致で、{1,}の量指定と同じ /ax+d/ は、xの文字が1回以上でマッチするので、以下列挙文字列で太字がマッチ範囲です。 "axdg", "axxdg", "axxxdg"("adg" は、マッチしません)
^ 先頭に一致 /^ab/ は、abの文字列から始まる"abcde"の太字がマッチ範囲です。"aabcde"はabが先頭でないためマッチしません。
$ 終端に一致 /yz$/ は、yzの文字列で終わる"wxyz"の太字がマッチ範囲です。"wxyzz"はyzが終端でないためマッチしません。
[][ ]内の文字のどれかに一致 /([abc])/は、"(a)"または、"(b)"または、"(c)"にマッチします。また、/[0-9]/で数字の文字にマッチします
[^ ] [ ]内以外の文字と改行以外の一文字に一致 /xy[^abc]z/は、"xyez"や、"xyfz"などにマッチします。
|正規表現の論理和 /a[+|-]b/ は、/a[+-]bと同じになります。つまり"a+b"または"a-b"とマッチします。
()グループ化 ()内の並びで、正規表現のまとまりを作ります。これにより、複数の文字列に対して | の論理和が可能になります。 例えば /a(bc|BC)d/は、"abcd"や"aBCd"とマッチします。またプログラム言語によっては、グループ化された部分の順次抽出ができます。
{n,m}n回以上で、m回以下に一致とする量指定 /t[0-9]{3,5}/は、"t123.txt"の太字がマッチ範囲です。"t123456.txt"では5回を超える部分がマッチしません。
{n,}n回以上で一致とする量指定 /t[0-9]{3,}/は、"t123.txt"の太字がマッチ範囲です。"t12.txt"の"t12"では3回以上の繰り返しに達していないのでマッチしません。
{n}n回で一致とする量指定 /t[0-9]{3}\.txt/は、"t123.txt"で、ぴったり3つの数字がないとマッチしません。

上記の記号文字のマッチ判定では、 \ を前に付けます。
例えば"(ab.c)"とマッチさせる正規表現は、 "\(ab\.c\)"と書きます。
つまり、"(""."")"の前に "\"を付けます。
Javaやphp言語のように文字列表現で、"\"に意味がある言語で、 その文字列内で正規表現を指定する場合は、"\\"と2つ並べる必要があり、 注意が必要です。例 "\\(ab\\.c\\)"と書きます。
ですから \ の文字にマッチさせる場合、\\\\と4つ並べて2つ\\を表現します。

このように、"\"に続く表現で、特殊な意味をもたせることを エスケープシーケンスと呼びますが、 上記以外にも、"\"のエスケープシーケンスを使った次のメタ文字があります。

文字意味
\d[0-9]のと同じで、1文字の数字
\D[^0-9]と同じで、1文字の数字以外
\w[a-zA-Z0-9_]と同じで、 アルファベット、数字、下線 いずれかの1文字
\W[^a-zA-Z0-9_]と同じで、 アルファベット、数字、下線 いずれでもない1文字
\s[\r\t\n\f]と同じで、スペースや復帰文字、タブ、改行文字、ラインフィードのいずれかの1文字(→空白文字と呼ぶ)
\S[^\r\t\n\f]と同じで、1文字の空白文字以外
\b単語の境界にマッチする
\B単語の境界以外にマッチする

以下にいくつかの例を示します。

説明
/a.*c/"ac", "aXc", "aXYc", "aXYZc" など、aの文字から始まってcで終わり、aとcの間に0文字以上の任意文字があれば適合します。
/a.+c/"aXc", "aXYc", "aXYZc" など、aの文字から始まってcで終わり、aとcの間に1文字以上の任意文字があれば適合します。("ac"は、間に文字がないので適合しません)