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})?/