XREA.COM Logo XREA.COM Ad

JavaScript類総合

5l ★:2007/03/02(金) 18:07:17 ID:???
そう言えばJavaScriptの正規表現には先読み(?=と否定先読み(?!がある。
戻り読みとか再帰とかは無いらしい。
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Writing_a_Regular_Expression_Pattern
WSHのリファレンスにもあったし、かなり標準的な仕様らしい。
以下のような感じで、リンク一つと次のリンクまでの内容に繰り返しマッチするような正規表現が作れる。
'<a href="abc.html">link</a>aaaaa<a href="def.hmtml">link2</a>ddddd'.match(/<a[^>]*href="([^"]*)"[^>]*>(.*?)<\/a>(.*?)(?=(<a |$))/g)

あと、[]の中などでも全角文字はちゃんと動作する。たぶん、UTF-8として処理される。
String.prototype.toHankaku=function(){
return(this.replace(/[!-〜]/g,function($1){return(String.fromCharCode($1.charCodeAt(0)-0xFEE0));}));
}
8KB
名前: E-mail:
ファイル:
0ch BBS 2005-10-08