Module: Butler::IRC::Parser::Expressions
- Defined in:
- lib/butler/irc/parser.rb
Overview
RFC 2812, Parser itself uses a simplified matching
Constant Summary collapse
- Special =
/[\[\]\\`_^{|}]/
- Letter =
/[A-Za-z]/
- Hex =
/[\dA-Fa-f]/
- ChannelID =
/[A-Z\d]{5}/
- Chanstring =
/[^\x00\x07\x10\x0D\x20,:]/
- Channel =
/(?:[#+&]|!#{ChannelID})#{Chanstring}(?::#{Chanstring})?/
- User =
/[^\x00\x10\x0D\x20@]/
- Nick =
/[A-Za-z\[\]\\`_^{|}][A-Za-z\d\[\]\\`_^{|}-]*/
- Command =
/[A-Za-z]+|\d{3}/
- IP4addr =
/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/
- IP6addr =
/[\dA-Fa-f](?::[\dA-Fa-f]){7}|0:0:0:0:0:(?:0|[Ff]{4}):#{IP4addr}/
- Hostaddr =
/#{IP4addr}|#{IP6addr}/
- Shortname =
/[A-Za-z0-9][A-Za-z0-9-]*/
- Hostname =
/#{Shortname}(?:\.#{Shortname})*/
- Host =
/#{Hostname}|#{Hostaddr}/
- Prefix =
/#{Hostname}|#{Nick}(?:(?:!#{User})?@#{Host})?/
- Params =
 FIXME
/.*/
- Message =
/(:#{Prefix} )?#{Command}(#{Params})?/