2010-08-10 3 views
1

мне нужны 3 различных регулярных выраженийщебет регулярные выражения

  • один, который находит в начале строки а «D» и пространство, то имя, так что «D patrickgates привет» вернет «D patrickgates ', или если все возможно вернет только «patrickgates»
  • тот, который найдет знак @ и имя вместе в любом месте строки, так что «@patrickgates hello, world» будет работать и возвращать «@patrickgates» или если вообще возможно, вернет только «patrickgates»
  • тот, который найдет «RT» и пробел, а затем «@» и имя пользователя в начале строки, чтобы «RT @patrickgates' будет работать

при возврате только имя пользователя, а также быть верным не возможно с одним регулярным выражением, то я мог бы использовать один, чтобы соответствовать этим, и один, который будет удалять „D“ или «@ 'или 'RT', спасибо

(FYI, я использую AS3, чтобы сделать это)

+0

для справки в будущем обратитесь к этому замечательному инструменту для создания регулярных выражений http://gskinner.com/RegExr/ – Allan

ответ

3
  1. D patrickgates использовать ^D (\w+) захватить 'patrickgates'
  2. @patrickgates hello, world использовать ^@(\w+) захватить 'patrickgates'
  3. RT @patrickgates использование `^ @ RT (\ W +), чтобы захватить 'patrickgates'

Если вы хотите один регулярное выражение, чтобы захватить patrickgates из всех трех ваших примеров:

^(?:D |@|RT @)(\w+)

+0

большое спасибо –

+0

'soright ... Спасибо за "проверку" – dawg

0
public function convertTwitterMsg (o:Object):void { 
    trace('New Tweet: ' + o); 
    var original:String = o.title; 
    _tweet = original.replace(/(^|\s)@(\w+)/g, "[email protected]<a href=\"http://www.twitter.com/$2\">$2</a>"); 
    _final = _tweet.replace(/(^|\s)#(\w+)/g, "$1#<a href=\"http://search.twitter.com/search?q=%23$2\">$2</a>"); 
    ta.htmlText = _final; 
} 

ta должен быть идентификатором вашего mx: TextArea, вы также можете использовать искру, но это изменило стиль вашего текста в искры. _tweet - это строка

Я скопировал вставку функции, использую ее по своему усмотрению.

Смежные вопросы