パーマリンク | 2007年09月25日 19:56
JavaScriptで正規表現による検索を行うには、RegExpオブジェクトとmatchメソッドを利用する。
str = "検索したい文字列";
regObj = new RegExp(正規表現, type);
result = str.match(regObj);
resultにはマッチした文字列が入る
RegExpのtypeは省略可。
| . | 改行以外の任意の一字。連続させれば連続させた数だけゲッツ |
|---|---|
| .* | 任意の文字列。ワイルドカードみたいなもんか? |
| ^ | 行の先頭 |
| $ | 行の最後 |
| \ | エスケープ。特殊文字は\でエスケープしてやる |
<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);
}
なんでこれがダメなのかさっぱりわからない。調査が必要そうだ。とか言ってどっかスペルミスだったり(爆
Copyright 2006-2008 KANTENNA.COM Reserved.