Я не очень хорошо знаком с linkify, но я попробую.
Проблема с первым регулярным выражением ( @ user ) состоит в том, что он не соответствуетпотому что это требует пробела или новой строки - это часть (^|\s)
.Что касается регулярного выражения # hash , ну ... это кажется излишне сложным.Попробуйте следующее:
linkify.plugins = {
tUser: {
re: /(^|\s|[^\w\d])@(\w+)/gi,
tmpl: '$1@<a href="http://domain.com/$2">$2</a>'
},
tHashtag: {
re: /(^|\s|[^\w\d])#(\w+)/gi,
tmpl: function (match, pre, hashTag) {
return pre+'<a href="http://domain.com/search.php?q='+
encodeURIComponent(hashTag) +'">#'+hashTag+'</a>';
}
}
};
Это будет соответствовать либо @ user , либо # хэш , если им предшествует символ новой строки, пробела или неслово, не цифра (не az, AZ или 0-9).Таким образом, ваши круглые скобки не будут мешать, но большинство адресов электронной почты также не будут выбраны.
Обратите внимание, что символ хеша не будет включен в ваш поиск по ссылочным хеш-тегам.