【发布时间】:2021-08-02 09:58:14
【问题描述】:
我的应用程序从 websocket 接收数据包。数据有一些格式可以提供有关数据的信息,示例如下。
- 握手 [0,"957529506107a4c7b3dba869424463",1,"Ratchet/0.3.6"]
- 事件 [8,"316662",{"id":1115411,"side":"left"}]
我想要正则表达式来识别数据包的类型和不同段的值。 尝试了很多正则表达式,但都不满意。
更新: 我尝试使用以下 .net 代码,但它给出了错误
Regex.IsMatch("[0,\"957529506107a4c7b3dba869424463\",1,\"Ratchet\\/ 0.3.6\"]", "/\\s*\\[(\\d+),\"([^\"]+)\", (\\d +),\"(.*?)\"\\]$");
【问题讨论】:
-
您目前尝试了什么?而我们通常会得到什么类型的数据结构呢?还有其他格式吗?我们需要有关您从网络套接字接收的数据的更多信息。
-
我尝试创建不同的正则表达式但没有运气,将它们丢弃。这些是解决我的工作的两种结构:) 其他我不需要的结构。对于握手消息,结构是第一个元素是 int,第二个元素是字符串,第三个元素是数字,第四个是字符串。同样对于 Event 我们有数字、字符串、json
-
下面我的回答对你有帮助吗?
-
好的,谢谢。只有握手和事件标题是错误的,但这是我的错误。实际的数据包是带有大括号和文本的数据。我刚刚在我的问题中添加了握手和事件的标题以进行区分。无论如何,我从正则表达式中删除了标题并且很好,再次感谢:)