0

Twitter API から取得したプレーン テキストを解析したいと思います。私がしなければならないことは、基本的にツイートを検索して「@」文字とそれに続くテキストを見つけ、プレーンテキストをそのテキストにリンクされたアンカーに置き換えることです。例えば:

ツイートのプレーンテキストを見てみましょう: "@flintzke this is a test"

正規表現を使用して、次のように変換します。

<a href='www.twitter.com/flintzke'>@flintzke</a> this is a test

私の推測では、この種の関数を使用することでした:

function getUsernameLink(text) {
var exp = /^[@][a-zA-Z0-9_!@#%&*]*[\s]$/ig;
return text.replace(exp, "<a href='https://twitter.com/$1'>$1</a>");
}

私の目的は、「@」で始まり空白で終わる文字列テキスト内の単一の単語を検出する式を見つけることでした

4

2 に答える 2

2

少し頑張ったと思います;)。最初に、アンカー^$文字列の開始と終了をマークします(一致の開始と終了などではありません-あなたが想定したと思います)。次に、使用します$1が、それは最初のキャプチャ (括弧の最初のセット - これはありません) に対応します。一致の前後に括弧を追加するか、 を使用します$&。最後に、\S空白以外の文字を表します。では、できるだけ多くの非空白文字に一致させてみませんか?

exp = /@(\S*)/g;
return text.replace(exp, "<a href='https://twitter.com/$1'>@$1</a>");
于 2012-11-30T00:39:10.177 に答える
1

これを試してください:

text.replace(/\@(\w+)/g,"<a href='https://twitter.com/$1'>@$1</a>");
于 2012-11-30T00:54:13.433 に答える