Javascript 忽略包装在链接中的@提及

Javascript 忽略包装在链接中的@提及,javascript,jquery,regex,Javascript,Jquery,Regex,嗨,我有一个脚本,它可以将@提及解析为链接,但这需要加载多次,目前它会破坏它已经解析为链接的内容,所以我需要让它忽略已包装在标记中的@提及,但我看不到它是否正常工作 这就是我到目前为止所做的: /((?:^-[^a-zA-Z0-9!$%&*.]RT:?)([@312])([a-zA-Z0-9.][1,20})(\/[a-zA-Z][a-zA-Z0-9.-][0,24})/g 示例字符串为: Hi @andre Hi <a href="">@jane</a> Hi@and

嗨,我有一个脚本,它可以将@提及解析为链接,但这需要加载多次,目前它会破坏它已经解析为链接的内容,所以我需要让它忽略已包装在标记中的@提及,但我看不到它是否正常工作

这就是我到目前为止所做的:
/((?:^-[^a-zA-Z0-9!$%&*.]RT:?)([@312])([a-zA-Z0-9.][1,20})(\/[a-zA-Z][a-zA-Z0-9.-][0,24})/g

示例字符串为:

Hi @andre Hi <a href="">@jane</a>
Hi@andre-Hi

@andre
应该像
@jane
is一样包装在标签中,
@jane
已经在标签中
中,应该被忽略。

这个问题的原因是因为我正在动态地将@References转换为链接,并且我正在加载有@References要替换的其他内容。我正在运行一个linkify函数来链接引起问题的每个匹配项

我无法在评论中找到答案,所以我尝试了另一种方法

我知道在哪里添加了额外的内容(在静态按钮之前),所以我使用jqueryslice函数来选择要在哪些元素上运行该函数

var linkify = $('.user-profile-feed-item').slice(-4).find('.linkify');
通过这种方式,该函数只针对需要的内容运行,而不必求助于额外的正则表达式过滤。

Description 这个正则表达式将捕获裸的
@名称
,这些名称还没有像这样包装在里面


正则表达式
(?!>)([@@])([a-zA-Z0-9\.]{1,20})\b(?!请给出一个示例字符串。您的图片更好。您应该给出一些预期的输入和输出。以及正则表达式不工作的原因。因此,如果
([@@])([a-zA-Z0-9\.]{1,20})
是一个
,你自己包装它们,考虑到每次你包装一个
,你就把它包装成一个
。@无论什么
,都不足以让所有
,如果是这样,这个正则表达式就会起作用:
(?!([@312;])([a-zA-Z0-9}{1,20])([@@]([a-zA-Z0-9\.]{1,20})
。请参见演示: