gpt4 book ai didi

Python - 来自套接字数据的正则表达式通配符?

转载 作者:太空宇宙 更新时间:2023-11-03 19:35:52 25 4
gpt4 key购买 nike

我有一个关于 Python 中正则表达式的问题。这些表达式由从服务器读取的数据组成,通过套接字连接。我正在尝试在这些表达式中使用和读取通配符。示例:假设我运行一个聊天服务器。当收到消息时,服务器会发送给所有客户端(JSmith 发送“大家好!”)。

我的问题是,如果有多个用户名(不仅仅是JSmith),我怎样才能让客户端程序读取服务器发送的数据,而不是写“[用户名]发送“大家好!”,拥有它写“[用户名]:大家好!”?

有没有办法将正则表达式通配符中的数据存储到变量中?

最佳答案

如果数据总是那么简单,则根本不需要使用正则表达式:

line = 'JSmith sends "Hello everyone!"'
user, data = line.split(' sends ', 1)
# remove the quotes
data = data[1:-1]
print "%s: %s" % (user, data)

使用正则表达式(使用命名表达式):

import re
line = 'JSmith sends "Hello everyone!"'
chatre = re.compile('^(?P<user>\S+) sends "(?P<data>.*)"$')
m = chatre.match(line)
if m:
print "%s: %s" % (m.group('user'), m.group('data'))

关于Python - 来自套接字数据的正则表达式通配符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3611573/

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