JavaScript正規表現1

| 2007年09月25日 19:56

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

書式


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

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

RegExpのtypeは省略可。

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

正規表現

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

サンプル


<script language="javascript" type="text/javascript">
	function reg(type){
		var str = "出来るよ??僕にも!javascriptを使って適当な文章の中から任意の一文字(2文字でも3文字でも)を抽出して表示することが出来るよ!?";
		
		if(type == "type1"){
			regObj = RegExp(".文字", "g");
			alt = str.match(regObj);
			for(i=0; i<alt.length; i++){
				alert(alt[i]);
			}
		}
		
		if(type == "type2"){
			regObj = RegExp("javascript.*表示");
			alt = str.match(regObj);
			alert(alt);
		}
		
		if(type == "type3"){
			regObj = RegExp("^出来るよ..");
			alt = str.match(regObj);
			alert(alt);
		}
		
		if(type == "type4"){
			regObj = RegExp("出来るよ..$");
			alt = str.match(regObj);
			alert(alt);
		}
		
		if(type == "type5"){
			regObj = RegExp(".\!.");
			alt = str.match(regObj);
			alert(alt);
		}
		
		if(type == "type6"){
			regObj = RegExp(".\?.");
			alt = str.match(regObj);
			alert(alt);
		}
	}
	</script>
	<ul>
	<li><a href="javascript:;" onclick="reg('type1')">任意の一字チェック</a></li>
	<li><a href="javascript:;" onclick="reg('type2')">任意の文字列チェック</a></li>
	<li><a href="javascript:;" onclick="reg('type3')">行の最後チェック</a></li>
	<li><a href="javascript:;" onclick="reg('type4')">行の最後チェック</a></li>
	<li><a href="javascript:;" onclick="reg('type5')">エスケープチェック</a>
		<ul>
		<li><a href="javascript:;" onclick="reg('type6')">重なってるとなんか変</a></li>
		</ul>
	</li>
	</ul>

実行結果

原因不明なエラー


if(type == "type1"){
	regObj = RegExp(".文字", "g");
	alt = str.match(regObj);
	for(i=0; i<alt.length; i++){
		newStr += alt[i];
	}
	alert(newStr);
}

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

JavaScript正規表現1タグ:

トラックバック
  • http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/161
コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)





この情報を登録しますか?

このサイトは次のライセンスで保護されています。

Creative Commons License

IT業界、エンジニア関連の求人
Web業界に精通したエージェントなので、希望に合った仕事、プロジェクト、雇用形態を紹介してくれてしっかりと転職活動をサポートしてくれます。
初心者のみ採用!【スノーグラス】WEB系エンジニア募集
初心者のみのweb系エンジニア求人!なんでだ?そろそろ転職考えてるのでここ行ってみようかな・・・
Twitter Updates