我正在用Java創建一個irc客戶端。它工作正常,但來自服務器的消息有點「搞砸」 ,例如:[email protected] PRIVMSG #channel :test
。所以我想知道如何解析irc消息給人類可讀?這是一個正則表達式,我發現^(:(\\S+))?(\\S+)((?!:)(.+?))?(:(.+))?$
irc消息。Java - 如何解析irc消息給人們可讀的
1
A
回答
1
IRC協議記錄在這裏:在增強BNF
的協議消息https://tools.ietf.org/html/rfc2812
2.3.1消息格式必須從 八位連續流中提取。目前的解決方案是將兩個字符CR和 LF指定爲消息分隔符。空消息被忽略, 允許使用序列CR-LF消息之間沒有 額外的問題。
將提取的消息解析爲組件 和參數列表()。
The Augmented BNF representation for this is:
message = [ ":" prefix SPACE ] command [ params ] crlf
prefix = servername/(nickname [ [ "!" user ] "@" host ])
command = 1*letter/3digit
params = *14(SPACE middle) [ SPACE ":" trailing ]
=/ 14(SPACE middle) [ SPACE [ ":" ] trailing ]
nospcrlfcl = %x01-09/%x0B-0C/%x0E-1F/%x21-39/%x3B-FF
; any octet except NUL, CR, LF, " " and ":"
middle = nospcrlfcl *(":"/nospcrlfcl)
trailing = *(":"/" "/nospcrlfcl)
SPACE = %x20 ; space character
crlf = %x0D %x0A ; "carriage return" "linefeed"
相關問題
- 1. Twitch IRC機器人不發送消息
- 2. Node.js - 如何解析通過IRC聊天消息傳遞的參數
- 3. 正則表達式來解析IRC消息
- 4. 解析的消息
- 5. IRC bot的消息過濾
- 6. 解析錯誤消息給Django模板?
- 7. pylint人類可讀消息ID列表?
- 8. Java私人消息
- 9. 發送私人訊息給IRC機器人
- 10. 解析C中的IRC PRIVMSG
- 11. HL7解析器解析Java中的v2.7消息
- 12. 如何顯示消息如果解析
- 13. 解析可變長度消息
- 14. java二進制消息解析
- 15. 解析EDI消息(HL7)在Java中
- 16. 無法解析Java MIME郵件消息
- 17. 如何控制msn消息的「個人消息」通過python顯示給他人?
- 18. 解析XML消息
- 19. 解析SOAP消息
- 20. ACARS消息解析
- 21. 無解析消息的XML解析
- 22. IRC消息格式澄清
- 23. 如何解析Java servlet中的響應SOAP消息?
- 24. 分析器消息解析
- 25. 如何將PNaCl解析爲人類可讀的LLVM IR?
- 26. 如何解析駱駝案例人類可讀的字符串?
- 27. 如何解析soap響應消息?
- 28. 如何使用C解析HL7消息
- 29. 如何解析ISO 8583消息
- 30. JMS消息解析異常
IRC協議已經是人類可讀的。 –