アフィリエイト広告を利用しています
最新記事
日別アーカイブ

広告

posted by fanblog

2012年07月15日

正規表現について

正規表現について、特に注意することを書いておきます。

文字列を特定の文字で区切る場合として、以下の構文がよく使われます。

// 1) 縦棒で区切る
var a = "ab|cd|ef|gh".split("|");

// 2) 縦棒で区切る
var a = "ab|cd|ef|gh".split(/|/);

1) 2) 両方とも同じ結果になりますが、違いとしては、
1) が文字列、2) が正規表現で区切っています。
"/"で区切られた場合は正規表現です。
正規表現は、以下の表記でも表すことができます。

// 3) 縦棒で区切る
var a = "ab|cd|ef|gh".split(new RegExp("|"));

2) と 3) は機能的には同じですが、3) では文字列を正規表現にすることができます。
個人的には 2) のほうは構文に不自然さを覚えます。

3) の表記について注意点です。
エスケープ記号入りの表記の場合、エスケープ記号をエスケープしておく必要があります。

// 2) 1文字以上の単語で区切る
var a = "ab|cd|ef|gh".split(/\w+/);

// 3) 1文字以上の単語で区切る
var a = "ab|cd|ef|gh".split(new RegExp("\\w+"));

正規表現オプションは、2) の場合は独特な気がします。
こちらも個人的に、文法に違和感があります。

// 2) 大文字小文字を区別しないで区切る
var a = "abcdefg".split(/cd/i);

// 3) 大文字小文字を区別しないで区切る
var a = "abcdefg".split(new RegExp("cd", "i");


{a8.net http://books.livedoor.com/item/1443887}
【このカテゴリーの最新記事】
posted by FJT at 00:48| javascript
プロフィール
FJTさんの画像
FJT
使えそうな技術情報を掲載しています。 ぜひ、役立ててください。
プロフィール
リンク集
×

この広告は30日以上新しい記事の更新がないブログに表示されております。