gpt4 book ai didi

javascript -/PM 用于在聊天室发送消息的正则表达式语法

转载 作者:行者123 更新时间:2023-11-30 23:50:00 26 4
gpt4 key购买 nike

我正在开发一个 AJAX/PHP 聊天室,目前一直在使用正则表达式来检测用户是否发送了私信,然后找出用户是谁以及消息是什么。

如果用户输入类似的内容

/pm PezCuckow Hi There you so awesome!

我想首先测试我的字符串是否与该模式匹配,然后获取“PezCuckow”和“嗨,你太棒了!”作为要发布到 PHP 的字符串。

我对正则表达式做了一些研究,但真的不知道从哪里开始!你能帮忙吗?

==感谢大家的帮助,问题现已解决!==

var reg = /^\/pm\s+(\w+)\s+(.*)$/i;
var to = "";

if(message.match(reg)) {
m = message.match(reg);
to = m[1];
message = m[2];
}

最佳答案

此正则表达式解析消息:

^(?:\s*/(\w+)\s*(\w*)\s*)?((?:.|[\r\n])*)$

说明:

^              # start-of-string
(?: # start of non-capturing group
\s*/ # a "/", preceding whitespace allowed
(\w+) # match group 1: any word character, at least once (e.g. option)
\s+ # delimiting white space
(\w*) # match group 2: any word character (e.g. target user)
\s+ # delimiting white space
)? # make the whole thing optional
( # match group 3:
(?: # start of non-capturing group, either
. # any character (does not include newlines)
| # or
[\r\n] # newline charaters
)* # repeat as often as possible
) # end match group 3

就您而言(“/pm PezCuckow 嗨,你太棒了!”):

  • 第 1 组:“下午”
  • 第 2 组:“PezCuckow”
  • 第 3 组:“嗨,你太棒了!”

在更一般的情况下(“嗨,你太棒了!”)

  • 第 1 组:“”
  • 第 2 组:“”
  • 第 3 组:“嗨,你太棒了!”

请注意,JavaScript 正则表达式中的正斜杠需要转义:

/foo\/bar/

但一般不在正则表达式模式中。

关于javascript -/PM 用于在聊天室发送消息的正则表达式语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1722547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com