如何使用正则表达式从长文本中获取数据

how to get data from a long text with regular expression

下面是一个长文本,其中 broadcast_iduser_id 的值出现在该文本中。正如您在第一行看到的那样。

GET /?broadcast_id=27&user_id=10 HTTP/1.1
Host: localhost:9000
Accept-Encoding: gzip, deflate
Sec-WebSocket-Version: 13
Origin: http://localhost
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: 2QEMNVrk7PdivBxc+sO+

我想从上面的文本中得到 broadcast_id 值 27 和 user_id 值 10。

您可以使用此正则表达式获取这 2 个值:

(broadcast_id|user_id)=([^&\s]+)

RegEx Demo

代码:

preg_match_all('/(broadcast_id|user_id)=([^&\s]+)/', $input, $matches);
print_r($matches);