【HTML】正規表現

文字列処理で、フォームから送られた文字列などから特定の文字列を抽出したり、ある特定のパターンにマッチする文字列を処理する式。

プロパティ

match( /正規表現/ ) ()内で指定した式にマッチするかを判断する。マッチの時はtrue。その他はfalse
replace(/正規表現/, 置換文字) 第一引数でマッチした文字列を第二引数(置換文字)で置き換える。
search(/正規表現/) マッチしたらマッチ箇所を番号で返す。マッチしなかった場合は、-1が返る

バックスラッシュ【\

【.】【-】【/】【¥】【+】【*】【$】など正規表現内で使用される記号を文字列として使用したい場合は、記号の前に【\】を付けます。これを【エスケープする】と呼びます。

 

【例題】Javascriptです。

match(/0123/)   【0123】にマッチ。012、123にはマッチしない。

match(/[0123]/)  【[]】内の文字のどれかにマッチ。

match(/[0123]+/)  【+】は、1文字以上にマッチ。

match(/[0123]\.[0123]+/)  【.】はバックスラッシュでエスケープ

match(/[^0123]\.[0123]+/)  【[^]】は【[]】内以外にマッチ。

match(/^[0123]\.[0123]+/)  【^[]】は文字の最初にマッチ。

match(/^[0123]+@[0123]+\.(com|co.jp)$/)  【com】【co.jp】のどちらかの場合は【()】で囲み【|】で分ける。【$】は文字の最後にマッチ。

match(/[あいうえお]/) あいうえおのどれかにマッチ。

 

【例題】PHPです。

if (!eregi(“^[a-z0-9]([a-z0-9]|\-|\_|\.)+@[a-z0-9]([a-z0-9]|\-)+[a-z0-9]([a-z0-9]|\-|\.)+[a-z]{1,4}$”, $mail )){ print “エラー”; }

  • ^[a-z0-9]([a-z0-9]|\-|\_|\.)+ → 一文字目がa〜zか0〜9のいずれか一文字。その後に続くのは、a〜zか0〜9か-_.のいずれか何文字でも可。
  • @[a-z0-9]([a-z0-9]|\-)+ → @の文字のあとa〜zか0〜9のいずれか一文字が続き、その後に続くのは、a〜zか0〜9か-のいずれか何文字でも可。
  • [a-z]{1,4}$ → 最後尾の文字から数えて1文字〜4文字は、a〜zのいずれか。
  • eregiは、上記ですと$mail変数に、正規表現による文字列を検索する関数です。文字が見つかったらTRUE、なければFALSEが返り値となって返ってきます。
    !が付いているのは、反対の動作で、【文字が含まれなかったら】という意味です。
    例題では、指定の変数に正規表現の文字列が含まれていなかったら、エラーですと表示させるスクリプトです。

カテゴリー:HTML, Tipsコメント(2)

コメント

  • I agree that its crucial for a beginner participant to have a fundamentally sound grip and that the grip can be a beneficial beginning point in understanding the swing.

    2011年11月3日 3:03 AM | tablet devices

  • Thinking like that shows an expert’s touch

    2015年2月17日 11:53 PM | buy levitra 25mg

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントフィード

トラックバックURL: https://takanix.com/wp-trackback.php?p=320