2012-01-02 105 views

回答

3

如果name没有串包含>,然后<(.-)>工作。

0

可以使用(%b<>)模式捕捉匹配<>。然后使用该值,你可以简单地使用string.sub切断第一和最后一个字符:

name,message=('< name<> > : Foo Bar!'):match('(%b<>)%s*:%s*(.*)') 
name=name:sub(2,-2) 
print(name,'sent message :',message) 

正如你所看到的,这也需要照顾含有其他嵌入式<>迹象

+0

不能做类似'pattern =“<(.*)>:(。*)”'?然后'为名称,在string.gmatch(文本,模式)中的消息做' – user1112008 2012-01-02 12:35:13

+0

你可以添加你想要的任何模式,我给了。我更新了我的答案以符合消息。 – jpjacobs 2012-01-02 12:51:16

相关问题