diff -r 7aa77854392d -r 2f5bbcc91854 libpurple/protocols/ircv3/purpleircv3parser.c --- a/libpurple/protocols/ircv3/purpleircv3parser.c Fri Feb 10 03:03:39 2023 -0600 +++ b/libpurple/protocols/ircv3/purpleircv3parser.c Thu Feb 16 08:13:28 2023 -0600 @@ -267,8 +267,11 @@ 0, 0, NULL); g_assert(parser->regex_message != NULL); - parser->regex_tags = g_regex_new("(?:(?[A-Za-z0-9-\\/]+)" - "(?:=(?[^\\r\\n;]*))?(?:;|$))", + parser->regex_tags = g_regex_new("(?(?\\+?)" + "(?:(?[A-Za-z0-9-\\.]+)\\/)?" + "(?[A-Za-z0-9-]+)" + ")" + "(?:=(?[^\r\n;]*))?(?:;|$)", 0, 0, NULL); g_assert(parser->regex_tags != NULL);