Javascript 如何在nodejs中识别字符串中的模式

Javascript 如何在nodejs中识别字符串中的模式,javascript,node.js,string,Javascript,Node.js,String,我有以下几个小时没能解决的问题: 我想做的是,当我收到一个字符串时,识别所述字符串中的模式,并能够在以后使用它,例如在接收文本时: “您好,这是一条示例消息,当天的标签是#Phone,您可以在任何地方使用它” 我想做的是识别那个#Phone并从所有文本中提取它,例如,然后能够生成一个带有#的单词的console.log()。因此,console.log的结果仅是电话或具有# 我有以下代码: const prefix = "#"; client.on("messag

我有以下几个小时没能解决的问题:

我想做的是,当我收到一个字符串时,识别所述字符串中的模式,并能够在以后使用它,例如在接收文本时:

“您好,这是一条示例消息,当天的标签是#Phone,您可以在任何地方使用它”

我想做的是识别那个#Phone并从所有文本中提取它,例如,然后能够生成一个带有#的单词的
console.log()
。因此,console.log的结果仅是电话或具有#

我有以下代码:

const prefix = "#";

client.on("message", function(message) {
  if (!message.content.includes(prefix)) return;

  const commandBody = message.content.slice(prefix.length);
  const args = commandBody.split(' ');
  const command = args.shift().toUpperCase();
  console.log(command)
});

这个返回我的东西是文本的第一个元素,没有它的第一个字母,如果文本是“你好,你好吗”!tryThis”,它显示的只是“ello”,我需要它只显示“try

使用正则表达式匹配
(或
)后跟字母或非空格字符或任何您希望允许的文本类型:

const前缀='!';
constpattern=newregexp(前缀+'([a-z]+)','i');
const getMatch=str=>str.match(模式)?[1];

log(getMatch('Hello,你好!试试这个')哈希标记可以包含哪些字符?不同的平台允许不同的字符集。您好,感谢aswer太快,我有这个问题const getMatch=str=>str.match(pattern)?[1];^语法错误:意外标记“.”当前代码是:client.on(“message”,function(message){const prefix=”!;const pattern=new RegExp(prefix+”([a-z]+),“i”);const getMatch=str=>str.match(pattern);[1];if(message.author.bot)返回;if(!message.content.includes(prefix))返回;console.log(getMatch)(“你好,你好!试试这个”););如果您的环境不了解可选链接,我强烈建议您将其更新为实现当前版本的ECMAScript标准。可选链接非常好,最好不要为了过时的环境而使源代码哑巴。但是如果必须,您可以执行
const result=str.match(模式);返回结果?结果[1]:null
而不是可选的链接谢谢,我需要更新nodejs对吗?我更新我的vstudio代码,并下载nodejs以查看。我希望这能起作用,谢谢!!!