diff --git a/syntax/go.nanorc b/syntax/go.nanorc
index 774228403de877c0fb7ff87f7c5f2605ae178b8a..6f12be2ff75f4f30e1575999047ab113f0ebf536 100644
--- a/syntax/go.nanorc
+++ b/syntax/go.nanorc
@@ -24,9 +24,9 @@ color brightcyan "\<(package|import)\>"
 color brightcyan "//[[:space:]]*\+build[[:space:]]+(([a-zA-Z_0-9]+[[:space:]]*)+,[[:space:]]*)*[a-zA-Z_0-9]+"
 
 # Literals.
-color red "\<[0-9]+(\.[0-9]*)?([Ee][+-]?[0-9]+)?i?\>"
-color red "\B\.[0-9]+([Ee][+-]?[0-9]+)?i?\>"
-color red "\<(0[0-7]*|[1-9][0-9]*|0[xX][0-9a-fA-F]+)\>"
+color red "\<0([0-7]*|[xX][0-9a-fA-F]+)\>"
+color red "(\<0+|\B)\.[0-9]+([Ee][+-]?[0-9]+)?i?\>"
+color red "\<[1-9][0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?i?\>"
 
 # Strings and characters; slightly fuzzy.
 color red "\<(true|false|nil|iota|_)\>"