KANTENNA.COM

Solarized

HOME > WEBプログラム覚書 > JavaScript正規表現1

JavaScript正規表現1

JavaScriptで正規表現による検索を行うには、RegExpオブジェクトとmatchメソッドを利用する。

書式

Javascript
  1.  str = "検索したい文字列";
  2.  regObj = new RegExp(正規表現, type);
  3.  result = str.match(regObj);

resultにはマッチした文字列が入る

RegExpのtypeは省略可。

g
グローバルマッチ 2番目3番目にマッチする部分も検索する。
i
大文字小文字そんなの関係ねぇ
m
複数行に対して検索(IE5.5/NN6/FF)

正規表現

. 改行以外の任意の一字。連続させれば連続させた数だけゲッツ
.* 任意の文字列。ワイルドカードみたいなもんか?
^ 行の先頭
$ 行の最後
\ エスケープ。特殊文字は\でエスケープしてやる

サンプル

Javascript
  1.  <script language="javascript" type="text/javascript">
  2.  
  3.  function reg(type){
  4.  
  5.   var str = "出来るよ??僕にも!javascriptを使って適当な文章の中から任意の一文字(2文字でも3文字でも)を抽出して表示することが出来るよ!?";
  6.  
  7.   if(type == "type1"){
  8.   regObj = RegExp(".文字", "g");
  9.   alt = str.match(regObj);
  10.   for(i=0; i<alt.length; i++){
  11.   alert(alt[i]);
  12.   }
  13.   }
  14.  
  15.   if(type == "type2"){
  16.   regObj = RegExp("javascript.*表示");
  17.   alt = str.match(regObj);
  18.   alert(alt);
  19.   }
  20.  
  21.   if(type == "type3"){
  22.   regObj = RegExp("^出来るよ..");
  23.   alt = str.match(regObj);
  24.   alert(alt);
  25.   }
  26.  
  27.   if(type == "type4"){
  28.   regObj = RegExp("出来るよ..$");
  29.   alt = str.match(regObj);
  30.   alert(alt);
  31.   }
  32.  
  33.   if(type == "type5"){
  34.   regObj = RegExp(".\!.");
  35.   alt = str.match(regObj);
  36.   alert(alt);
  37.   }
  38.  
  39.   if(type == "type6"){
  40.   regObj = RegExp(".\?.");
  41.   alt = str.match(regObj);
  42.   alert(alt);
  43.   }
  44.  }
  45.  
  46.  </script>
HTML
  1.  <ul>
  2.  <li><a href="javascript:;" onclick="reg('type1')">任意の一字チェック</a></li>
  3.  <li><a href="javascript:;" onclick="reg('type2')">任意の文字列チェック</a></li>
  4.  <li><a href="javascript:;" onclick="reg('type3')">行の最後チェック</a></li>
  5.  <li><a href="javascript:;" onclick="reg('type4')">行の最後チェック</a></li>
  6.  <li><a href="javascript:;" onclick="reg('type5')">エスケープチェック</a>
  7.   <ul>
  8.   <li><a href="javascript:;" onclick="reg('type6')">重なってるとなんか変</a></li>
  9.   </ul>
  10.  </li>
  11.  </ul>

実行結果

原因不明なエラー

Javascript
  1.  if(type == "type1"){
  2.   regObj = RegExp(".文字", "g");
  3.   alt = str.match(regObj);
  4.   for(i=0; i<alt.length; i++){
  5.   newStr += alt[i];
  6.   }
  7.   alert(newStr);
  8.  }

なんでこれがダメなのかさっぱりわからない。調査が必要そうだ。とか言ってどっかスペルミスだったり(爆

初めてのJavaScript 第2版
作者:Shelley Powers | 価格:¥ 2,940

トラックバック(0)

コメント

コメントする
Name
Email Address
URL
TIME LINE
2012
02.08

[Ubuntu11.10]Winows XPユーザーがUbuntuを使ってみて

Windows XPとUbuntuのデュアルブート環境にしてみておもったこと。

2012
02.03

[jQuery]closest()とparents()

今から16年前Netscapeブラウザのソースコードの公開方法の会議の中で、初めてオープンソースという言葉が使われた今日、 みなさんいかがお過ごしでしょうか。

今回の投稿はそれとは関係のないjQueryのparents()とclosest()が 似てたので何が違うのか試した時のメモです。

2012
02.01

[jQuery Mobile]初期化イベントメモ

jQuery Mobileは読み込まれてから

mobileinit -> pagebeforecreate -> pagecreate -> pageinit

の順番でイベントが発生する。

2012
02.01

[WordPress]管理画面のフッタのフィルタとアクション。

時間も時間なので、あまり使用頻度の高くない微妙なネタを。

会員制サイトなどで不特定多数の人にログインさせる場合、フッタのバージョン情報は隠しておきたかったり、 こじゃれたメッセージを表示したいときとか使うアクションとフィルタ。

2012
01.28

[WordPress] ブログの情報を取得する方法とノーキャッシュ疑惑

ブログのget_bloginfo()で取れないデータが必要な場合に使うもの。

2012
01.26

[jQuery Mobile]ダイアログ

jQuery Mobileにおけるダイアログの扱いはウインドウではなくページ。 なので通常のページと同様に扱える。ダイアログウインドウを出す。じゃなくダイアログページに遷移する。的な。

2012
01.25

[Ubuntu11.10]Ubuntuのインストール後の設定

インストール完了後の環境構築。PC起動時いちいちBIOSからブートドライブ選んで ブートするのかと思ってたら起動時にOS選択画面が出てくる。

すばらしいですね。

2012
01.24
2012
01.23

MinGW+Mintty+Git

MinGW+Mintty+Gitをやろうとして失敗に終わった。このエントリーには収穫できるものはありません。