フラグは、次の値を任意の組み合わせで指定できます。 g ... グローバルなマッチ i ... 大文字・小文字の無視 m ... 複数行に渡るマッチ gオプションを指定すると、文字列の終わりまで繰り返し実行します。 RegExp - JavaScript | MDN 対象の文字列 test1@example.com test2@example.com test3@example.com test4@example.com test5@example.com 結果
フラグは、次の値を任意の組み合わせで指定できます。 g ... グローバルなマッチ i ... 大文字・小文字の無視 m ... 複数行に渡るマッチ gオプションを指定すると、文字列の終わりまで繰り返し実行します。 RegExp - JavaScript | MDN 対象の文字列 test1@example.com test2@example.com test3@example.com test4@example.com test5@example.com 結果
正規表現と文字列を入力し、それがマッチしているかどうか簡単にチェックできるオンラインツールを紹介します。 NGの画面 正規表現のチートシート ページ下部にあるチートシートから。 . 任意の文字にマッチする(改行を除く) {n} n回の繰り返し {n,} n回以上の繰り返し {n, m} n回以上m回以下の繰り返し ? {0,1}と同じ * {0,}と同じ + {1,}と同じ \w アルファベット、数字またはアンダーバー、[a-zA-Z0-9_]と同じ \d 数字、[0-9]と同じ \s 空白文字、[\t\r\n ]と同じ […] キャラクタをクラス化 [^...} キャラクタを否定クラス化 (…) パターンのグループ化 (?:…) パターンの非格納グループ化 (?=…) 先読み (?!…) 否定先読み ^ 行の先頭にマッチする $ 行の終端にマッチする \b 単語境界にマッチ \B 単語境
パターンの末尾に「|」を付け加えると、その正規表現は常にマッチする。 /aaa/.exec("xyz"); // => null /aaa|/.exec("xyz"); // => [""] これを使えば、ある位置でのみパターンマッチを行うということ(Perl の正規表現で「\G」のメタ文字を使うようなこと)が JavaScript でもできる(Firefox に限っては「y」フラグを使えば簡単にできるけど、独自拡張今のところ他のブラウザでは使えない)。 // RegExp::exec の戻り値の配列には index プロパティがあり、 // マッチに成功した位置を表す var text = "xxxaaxxxaaa", regexp, result; // 4〜6文字目が aaa かどうかだけ確かめたいとする // 通常の正規表現 regexp = /aaa/g; regexp.last
よく使う正規表現例 メールアドレスを検索 例1:[\w.-]+@[\w.-]+ 例2:[\w\d_-]+@[\w\d_-]+\.[\w\d._-]+ 例3:[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4} ※例3はメールアドレスを厳しくチェックする場合 URLを検索 (\S+)://([^:/]+)(:(\d+))?(/[^#\s]*)(#(\S+))? IPアドレスを検索 (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}) 郵便番号を検索 \d{3}-\d{4} [ ]で囲まれた文字列を検索 \[[^\[]*?\] HTMLタグを検索 <("[^"]*"|'[^']*'|[^'">])*> 正規表現を使うにあたって注意すること new RegExp()の引数には正規表
nanto_vi, 2008-07-19 自己紹介 nanto_vi (TOYAMA Nao) Days on the Moon Twitter 目次 よくある間違い 正規表現オブジェクトのメソッド グローバルマッチ 文字列のメソッド まとめ よくある書き方 var str = "OSC Kansai 2008"; var year = 0; if (str.match(/(\d+)/)) { year = Number(RegExp.$1); } 何がよくないか RegExp コンストラクタのプロパティはグローバル変数 Mozilla 2 (Firefox 4) では削除されるかも? if (str.match(/(\d+)/)) { doOtherThing(); year = Number(RegExp.$1); } function doOtherThing() { "Firefo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く