質問: 再度質問 TwitterのRT、返信を正規表現であらわすには? すみません、完全に解決できなかったので 改めて質問します。 Twitterを使ったプログラム作成中なのですが RT、誰かに対する返信 (RT ユーザー名:) (@ユーザー名) を正規表現を使って取り除こうとしていますがうまくいきません。 前回の質問を参考に、 /(RT )?@([^:])+:/i としたところ、だいたいうまく行っていたのですが、ユーザー名に_(アンダースコア)などはいる際 うまく正規表現チェックされなかったようなのです。 もし分かる方、教えていただけませんか?
回答: 非公式RTは人が手入力するものなので表記の揺れがあります。 * 特に質問にある正規表現だと最後のコロンが必須になっているのが気になりました。付けない人もいます。 * RTじゃなくQTと付ける人もいるのでそれも対応 * screen_name部分は後のコロンに頼らないよう利用可能文字の列挙に書き換え * カッコを付けてグルーピングする意味は無いのでカッコは削除 ``` /[QR]T ?@[a-z0-9_]+:?/i ``` 試してないですが多分コレで改善されると思います。