Add syntax for hex,octal
diff --git a/Modules/regexpr.c b/Modules/regexpr.c
index 2d30171..663e1de 100644
--- a/Modules/regexpr.c
+++ b/Modules/regexpr.c
@@ -486,7 +486,13 @@
 		for (a = 'A'; a <= 'Z'; a++)
 			re_syntax_table[a] = Sword;
 		for (a = '0'; a <= '9'; a++)
-			re_syntax_table[a] = Sword | Sdigit;
+			re_syntax_table[a] = Sword | Sdigit | Shexdigit;
+		for (a = '0'; a <= '7'; a++)
+			re_syntax_table[a] |= Soctaldigit;
+		for (a = 'A'; a <= 'F'; a++)
+			re_syntax_table[a] |= Shexdigit;
+		for (a = 'a'; a <= 'f'; a++)
+			re_syntax_table[a] |= Shexdigit;
 		re_syntax_table['_'] = Sword;
 		for (a = 9; a <= 13; a++)
 			re_syntax_table[a] = Swhitespace;
diff --git a/Modules/regexpr.h b/Modules/regexpr.h
index 91f00b9..9ac2ab9 100644
--- a/Modules/regexpr.h
+++ b/Modules/regexpr.h
@@ -70,6 +70,8 @@
 #define Sword       1
 #define Swhitespace 2
 #define Sdigit      4
+#define Soctaldigit 8
+#define Shexdigit   16
 
 /* Rename all exported symbols to avoid conflicts with similarly named
    symbols in some systems' standard C libraries... */