Вы могли предоставить regex то соответствие имена пользователей Twitter?
Дополнительная премия, если пример Python обеспечивается.
Если вы говорите об элементе @username
, который они используют в твиттере, то вы можете использовать это:
import re
twitter_username_re = re.compile(r'@([A-Za-z0-9_]+)')
Чтобы сделать каждый экземпляр HTML-ссылкой, вы можете сделать что-то вроде этого:
my_html_str = twitter_username_re.sub(lambda m: '<a href="http://twitter.com/%s">%s</a>' % (m.group(1), m.group(0)), my_tweet)
Да, поскольку они являются частью бизнес-уровня. Две большие выгоды:
Имейте в виду, что служебные функции и вспомогательные классы, скорее всего, будут одними из наиболее часто используемых компонентов всей системы. Без полного тестирования БИЦЕПС у вас действительно неприемлемый риск.
-121--3702155-См. ручную запись для perldoc perlop в разделе «Соответствие в контексте списка»:
Если параметр/g не используется, m//в контексте списка возвращает список, состоящий из подэкспрессии, совпадающие с круглыми скобками в образце, т.е. ($1, $2, $3...)
Модификатор/g задает глобальное совпадение образца - это совпадение столько раз, сколько возможно в пределах последовательности. Поведение зависит от контекста. В контексте списка он возвращает список подстрок, соответствующих любым записывающим скобкам в регулярном выражении. Если круглые скобки отсутствуют, возвращается список всех совпадающих последовательностей, как если бы вокруг всего образца были круглые скобки.
Можно просто захватить все совпадения, назначив массиву или иным образом выполнив вычисление в контексте списка:
my @matches = ($string =~ m/word/g);
-121--936032- В форме принимаются только символы A-Z, 0-9 и подчеркивание. Однако имена пользователей не чувствительны к регистру , поэтому можно использовать r '@ (? i) [a-z0-9_]+'
, чтобы правильно сопоставить все и различить пользователей.
Twitter недавно выпустил - открытый исходный код на различных языках, включая Java, Ruby ( gem ) и реализации кода Javascript, который они используют для поиска имен пользователей, хэш-тегов, списков и URL-адресов.
Он очень ориентирован на регулярные выражения.