История изменений
Исправление theNamelessOne, (текущая версия) :
Шаблоны для групп identifier, hostname, channel нужно уточнить, т.к. я не знаю, какие символы в них разрешены (сейчас просто буквы и числа):
# -*- coding: utf-8 -*-
#!/usr/bin/env python3
import re
irc_pat = re.compile(r"""
^\s*:
# nickname:
(?P<nickname>
[a-z_\-\[\]\\^{}|`]
[a-z0-9\-\[\]\\^{}|`]*
)
!~
# ident:
(?P<identifier>
\w+
)
@
# host:
(?P<hostname>
\w+
)
\ PRIVMSG\ #
# channel
(?P<channel>
\#\w+
)
\ : \ #
# message itself:
(?P<message>
.*
)$
""", re.VERBOSE | re.UNICODE)
text = ":nick!~ident@host PRIVMSG #channel : test message"
match = irc_pat.match(text)
if match:
print match.groups()
# or match.group('nickname'), match.group('identifier'), etc
Исправление theNamelessOne, :
Шаблоны для групп identifier, hostname, channel нужно уточнить, т.к. я не знаю, какие символы в них разрешены (сейчас просто буквы и числа):
# -*- coding: utf-8 -*-
#!/usr/bin/env python3
import re
irc_pat = re.compile(r"""
^\s*:
# nickname:
(?P<nickname>
[a-z_\-\[\]\\^{}|`]
[a-z0-9\-\[\]\\^{}|`]*
)
!~
# ident:
(?P<identifier>
\w+
)
@
# host:
(?P<hostname>
\w+
)
\ PRIVMSG\ #
# channel
(?P<channel>
\#\w+
)
\ : \ #
# message itself:
(?P<message>
.*
)$
""", re.VERBOSE | re.UNICODE)
text = ":nick!~ident@host PRIVMSG #channel : test message"
match = irc_pat.match(text)
if match:
print match.groups()
# or match.group('nickname'), match.group('identifier'), etc
Исходная версия theNamelessOne, :
Шаблоны для групп 'identifier', 'host', 'channel' нужно уточнить, т.к. я не знаю, какие символы в них разрешены:
# -*- coding: utf-8 -*-
#!/usr/bin/env python3
import re
irc_pat = re.compile(r"""
^\s*:
# nickname:
(?P<nickname>
[a-z_\-\[\]\\^{}|`]
[a-z0-9\-\[\]\\^{}|`]*
)
!~
# ident:
(?P<identifier>
\w+
)
@
# host:
(?P<hostname>
\w+
)
\ PRIVMSG\ #
# channel
(?P<channel>
\#\w+
)
\ : \ #
# message itself:
(?P<message>
.*
)$
""", re.VERBOSE | re.UNICODE)
text = ":nick!~ident@host PRIVMSG #channel : test message"
match = irc_pat.match(text)
if match:
print match.groups()
# or match.group('nickname'), match.group('identifier'), etc