From 841dde33a7cff56fc9aa577b7e0c3651e7d95014 Mon Sep 17 00:00:00 2001 From: Reed Lipman Date: Wed, 24 Oct 2012 14:49:21 -0400 Subject: [PATCH] Escape the hyphens in the roles regexes Inside square brackets, unescaped hyphens are position dependent. They act like hyphens normally when at the beginning or end of a square bracket expression. Otherwise it's used to signify a character range. http://stackoverflow.com/questions/4068629/how-to-match-hyphens-with-regular-expression/4068725#4068725 --- src/scripts/roles.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/scripts/roles.coffee b/src/scripts/roles.coffee index c8a34044d..f998a9dce 100644 --- a/src/scripts/roles.coffee +++ b/src/scripts/roles.coffee @@ -15,7 +15,7 @@ module.exports = (robot) -> getAmbiguousUserText = (users) -> "Be more specific, I know #{users.length} people named like that: #{(user.name for user in users).join(", ")}" - robot.respond /who is @?([\w .-]+)\?*$/i, (msg) -> + robot.respond /who is @?([\w .\-]+)\?*$/i, (msg) -> joiner = ', ' name = msg.match[1].trim() @@ -39,7 +39,7 @@ module.exports = (robot) -> else msg.send "#{name}? Never heard of 'em" - robot.respond /@?([\w .-_]+) is (["'\w: -_]+)[.!]*$/i, (msg) -> + robot.respond /@?([\w .\-_]+) is (["'\w: \-_]+)[.!]*$/i, (msg) -> name = msg.match[1].trim() newRole = msg.match[2].trim() @@ -63,7 +63,7 @@ module.exports = (robot) -> else msg.send "I don't know anything about #{name}." - robot.respond /@?([\w .-_]+) is not (["'\w: -_]+)[.!]*$/i, (msg) -> + robot.respond /@?([\w .\-_]+) is not (["'\w: \-_]+)[.!]*$/i, (msg) -> name = msg.match[1].trim() newRole = msg.match[2].trim()