如何在JavaScript中像Twitter这样的字符串中拉出@提及

如何在JavaScript中像Twitter这样的字符串中拉出@提及,第1张

如何在JavaScript中像Twitter这样的字符串拉出@提及

我发现这是在javascript中的字符串中查找提及的最佳方法。

var str = "@jpotts18 what is up man? Are you hanging out with @kyle_clegg";var pattern = /B@[a-z0-9_-]+/gi;str.match(pattern);["@jpotts18", "@kyle_clegg"]

我特意将其限制为大写和小写字母数字和(-,_)符号,以避免可能对诸如(@ j.potts)之类的用户名造成混淆的句点。

这就是twitter-text.js在后台执行的 *** 作。

// Mention related regex collectiontwttr.txt.regexen.validMentionPrecedingChars = /(?:^|[^a-zA-Z0-9_!#$%&*@@]|RT:?)/;twttr.txt.regexen.atSigns = /[@@]/;twttr.txt.regexen.validMentionOrList = regexSupplant(    '(#{validMentionPrecedingChars})' +  // : Preceding character    '(#{atSigns})' +          // : At mark    '([a-zA-Z0-9_]{1,20})' +  // : Screen name    '(/[a-zA-Z][a-zA-Z0-9_-]{0,24})?'  // : List (optional)  , 'g');twttr.txt.regexen.endMentionMatch = regexSupplant(/^(?:#{atSigns}|[#{latinAccentChars}]|://)/);

如果您使用了更有效或更准确的方法,请告诉我。谢谢!



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5172551.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-18
下一篇2022-11-18

发表评论

登录后才能评论

评论列表(0条)

    保存