我正在创建一个人们连接使用的网络服务器telnet
。一些 telnet 客户端每行发送数据,但另一些则在键入后立即发送每个字符。在服务器中,我缓存这些直到输入换行符。(因此我们有一条完整的线路)
但是,退格字符 ( \x08
) 也会发送到字符串中。我想通过替换一个字符后跟一个没有任何内容的退格来实现退格行为。
但是,如果用户一次使用退格键删除多个字母怎么办?
是否可以构造一个正则表达式,当后面跟着 N 个退格键时删除 N 个字符?
为了完整起见,我使用的是 Ruby 2.2 。
谢谢。