正規表現には方言があるらしい。
jsでTwitterの文言を正規表現処理したけど、結構むずかしかった。
とりあえず、"/g"ってすごい!
"/g"を書かないと、Tweet内のリンクを1つしか処理できない。
"/g"を書くと全部処理してくれる。
"/g"は偉大なのであった。
urlをリンクタグ処理
tweet = tweet.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&~\?\/.=]+/g, function(url) {
return url.link(url);
});
リプライをリンクタグ処理
tweet = tweet.replace(/@[a-zA-z_]*/g, function(reply) {
var no_mark_rep = reply.replace(/@/, "");
return reply.link("https://twitter.com/"+no_mark_rep);
});
ハッシュをリンクタグ処理
tweet = tweet.replace(/[##]+[A-Za-z0-9-_ぁ-ヶ亜-黑]+/g, function(hash) {
var no_mark_hash = hash.replace(/[##]/, "");
return hash.link("https://twitter.com/%23"+no_mark_hash);
});
このコメントは投稿者によって削除されました。
返信削除Maybe /[##]+[^\u0000-\u0080]+/g is better since it matches all Unicode chars rather than just English and Japanese
返信削除Thank you very much! I didn't know I can write it by Unicode chars.
返信削除