如何使用regex从字符串中获取discord标记



我对正则表达式基本上没有任何经验,对字符串操作也有基本的理解。我试图将一个不和谐的标签与字符串的其余部分分开,但遇到了问题。

例如,我能够将vunsh#3191这样的标签与"vunsh#3191已经做了很多事情"分开。但是,当discord标签中有空格或其他字符时,我现在使用的系统不会检测到它。

Ex。我目前的系统只会从vunsh's discord#1234 blah blah blah得到vunsh's。我需要vunsh's discord#1234

我找到了一个名为string#match((的方法,它似乎就是我想要的。我正在努力解决的问题是将什么作为传递到#match((中的regex模式。

Ex。

const paragraph = 'vunsh thing#2134 blah blah';
const regex = //what goes here?
const found = paragraph.match(regex);
console.log(found);
// expected output: Array ["vunsh thing#2134"]

注意:并非所有我正在处理的字符串都包含单词";vunsh";,但是所有的discord标签都有一个#和紧接着的4个数字。

您可以使用

const regex = /.*#d{4}b/g;

但这并不适用于用户名前有文本的所有情况,因为没有解决方案。

最新更新