diff --git a/mininet/clean.py b/mininet/clean.py
index 5162bf378fefcb98af186ce812f5470d2e4b84fa..35fbd0f86a2163e67b844d8c5ac7b4893eaf5995 100755
--- a/mininet/clean.py
+++ b/mininet/clean.py
@@ -59,7 +59,7 @@ def cleanup():
             sh( 'ovs-vsctl del-br ' + dp )
 
     info( "*** Removing all links of the pattern foo-ethX\n" )
-    links = sh( r"ip link show | egrep -o '(\w+-eth\w+)'" ).split( '\n' )
+    links = sh( r"ip link show | egrep -o '([-_[:alnum:]]+-eth[[:digit:]]+)'" ).split( '\n' )
     for link in links:
         if link != '':
             sh( "ip link del " + link )