diff --git a/nova/conf/base.py b/nova/conf/base.py
index b2fbb9258b9f..4c23f2ff7e59 100644
--- a/nova/conf/base.py
+++ b/nova/conf/base.py
@@ -26,7 +26,7 @@ base_options = [
     cfg.StrOpt(
         'instance_usage_audit_period',
         default='month',
-        regex='(hour|month|day|year)(@([0-9]+))?',
+        regex='^(hour|month|day|year)(@([0-9]+))?$',
         help='''
 Time period to generate instance usages for. It is possible to define optional
 offset to given period by appending @ character followed by a number defining
diff --git a/nova/conf/cinder.py b/nova/conf/cinder.py
index 41703933c0db..8e91b9c2e165 100644
--- a/nova/conf/cinder.py
+++ b/nova/conf/cinder.py
@@ -24,7 +24,7 @@ cinder_group = cfg.OptGroup(
 cinder_opts = [
     cfg.StrOpt('catalog_info',
             default='volumev3::publicURL',
-            regex='(\w+):(\w*):(.*?)',
+            regex='^(\w+):(\w*):(.*?)$',
             help="""
 Info to match when looking for cinder in the service catalog.
 
diff --git a/nova/conf/serial_console.py b/nova/conf/serial_console.py
index c173049b9c3d..7faf8ede9dc3 100644
--- a/nova/conf/serial_console.py
+++ b/nova/conf/serial_console.py
@@ -35,7 +35,7 @@ This service is typically executed on the controller node.
 """),
     cfg.StrOpt('port_range',
         default=DEFAULT_PORT_RANGE,
-        regex="\d+:\d+",
+        regex="^\d+:\d+$",
         help="""
 A range of TCP ports a guest can use for its backend.
 
@@ -45,7 +45,7 @@ instance won't get launched.
 
 Possible values:
 
-* Each string which passes the regex ``\d+:\d+`` For example ``10000:20000``.
+* Each string which passes the regex ``^\d+:\d+$`` For example ``10000:20000``.
   Be sure that the first port number is lower than the second port number
   and that both are in range from 0 to 65535.
 """),