diff --git a/README.md b/README.md
index 7af18f95213b5c635a7795fbe5e48f54a833a63e..c8692432f3bb8ce2104ad3b54d643a8a15259e8e 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@ CMD is the Command to run. Except for "login", all Commands require an access to
 The access token is read from the env. variable "NEXUS_TOKEN".
 List of supported Commands:
     login               Login and obtain an access token.
-    whoami              Display the authenticated user's details.
+    whoami              Display the current user's details.
     passwd              Update the current user's password.
     user_list           List users (regex matching).
     user_add            Add a user.
@@ -52,11 +52,11 @@ List of supported Commands:
     vm_start            Start one or more VMs (regex matching).
     vm_stop             Stop one or more VMs (regex matching).
     vm_attach           Attach to a VM in order to use its desktop environment.
-    vm_create           Create one or more VMs.
-    vm_edit             Edit a VM's properties: name, cpus, ram or nic (regex matching).
+    vm_create           Create one or more VMs (regex matching).
+    vm_edit             Edit one or more VMs' properties: name, cpus, ram or nic (regex matching).
     vm_del              Delete one or more VMs (regex matching).
-    vm_setaccess        Set the VM access for a given user.
-    vm_delaccess        Delete the VM access for a given user.
+    vm_setaccess        Set a user's VM access in one or more VMs (regex matching).
+    vm_delaccess        Delete a user's VM access in one or more VMs (regex matching).
     tpl_list            List available templates (regex matching).
     tpl_create          Create a template.
     tpl_del             Delete one or more templates.
@@ -69,7 +69,7 @@ Get the source code with:
 git clone ssh://git@ssh.hesge.ch:10572/flg_projects/nexus_vdi/nexus-client.git
 ```
 
-To build and run `nexus-client`, go into `src/client_cli`, then run:
+To build and run `nexus-client`, go into `src/client_cli` and run:
 ```
 go run .
 ```
@@ -94,6 +94,16 @@ export NEXUS_CERT=ca-cert.pem
 
 ### nexus-client usage examples
 
+List all available commands:
+```
+nexus-client
+```
+
+Display the help for the `vm_create` command:
+```
+nexus-client vm_create
+```
+
 Authentify user `janedoe@nexus.org` and obtain an access token:
 ```
 export NEXUS_TOKEN=`nexus-client login janedoe@nexus.org pipomolo`
@@ -106,7 +116,12 @@ nexus-client whoami
 
 List all users:
 ```
-nexus-client user_list
+nexus-client user_list .
+```
+
+List users matching the "jane" pattern:
+```
+nexus-client user_list jane
 ```
 
 Add new user `lukesky@force.org` with a list of capabilities:
@@ -114,14 +129,24 @@ Add new user `lukesky@force.org` with a list of capabilities:
 nexus-client user_add lukesky@force.org Luke Skywalker pipomolo USER_CREATE USER_DESTROY USER_LIST USER_SET_CAPS VM_CREATE
 ```
 
-List listable VMs:
+List all listable VMs:
+```
+nexus-client vmlist .
+```
+
+List listable VMs matching the "ubuntu" pattern:
+```
+nexus-client vmlist ubuntu
+```
+
+List listable VMs matching the "ubuntu" pattern and also the VM with ID `6713ce26-941e-4d95-8e92-6b71d44bf75a`:
 ```
-nexus-client vmlist
+nexus-client vmlist ubuntu 6713ce26-941e-4d95-8e92-6b71d44bf75a
 ```
 
-List VMs that can be started:
+List all VMs that can be started:
 ```
-nexus-client vmlist_start
+nexus-client vmlist_start .
 ```
 
 Start VM `6713ce26-941e-4d95-8e92-6b71d44bf75a`:
@@ -129,9 +154,14 @@ Start VM `6713ce26-941e-4d95-8e92-6b71d44bf75a`:
 nexus-client vm_start 6713ce26-941e-4d95-8e92-6b71d44bf75a
 ```
 
-List VMs that can be attached to:
+Start VMs matching the "exam ISC_433 PCO" pattern:
 ```
-nexus-client vmlist_start
+nexus-client vm_start "exam ISC_433 PCO"
+```
+
+List all VMs that can be attached to:
+```
+nexus-client vmlist_attach .
 ```
 
 Attach to VM `6713ce26-941e-4d95-8e92-6b71d44bf75a`:
@@ -139,9 +169,14 @@ Attach to VM `6713ce26-941e-4d95-8e92-6b71d44bf75a`:
 nexus-client vm_attach 6713ce26-941e-4d95-8e92-6b71d44bf75a
 ```
 
-List VMs that can be stopped:
+List all VMs that can be stopped:
 ```
-nexus-client vmlist_stop
+nexus-client vmlist_stop .
+```
+
+Stop VMs matching the "exam ISC_433 PCO" pattern:
+```
+nexus-client vm_stop "exam ISC_433 PCO"
 ```
 
 Stop VM `6713ce26-941e-4d95-8e92-6b71d44bf75a`:
@@ -149,14 +184,27 @@ Stop VM `6713ce26-941e-4d95-8e92-6b71d44bf75a`:
 nexus-client vm_stop 6713ce26-941e-4d95-8e92-6b71d44bf75a
 ```
 
-Create the ChocDoom VM with 4 CPUs, 2GB RAM, a network interface with NAT translation (`user`) and based on the `fbccb584-9ea6-40f7-926d-dabf3970525e` template (chocolate-doom):
+Create a VM named "Doom", based on the `fbccb584-9ea6-40f7-926d-dabf3970525e` (Doom) template, with 4 CPUs, 4GB RAM, and a network interface with NAT translation:
+```
+nexus-client vm_create Doom 4 4096 user fbccb584-9ea6-40f7-926d-dabf3970525e
+```
+
+Create 50 VMs with the base name "ISC_433 Exam" based on the `6713ce26-941e-4d95-8e92-6b71d44bf75a` template, with 2 CPUs, 2GB RAM, and no network interface:
+```
+nexus-client vm_create "ISC_433 Exam" 2 2048 none 6713ce26-941e-4d95-8e92-6b71d44bf75a 50
 ```
-nexus-client vm_create HepiaDoom 4 2048 user fbccb584-9ea6-40f7-926d-dabf3970525e
+It takes about 30 seconds and 11MB of disk space to create these 50 VMs.
+They will have the following names:
+```
+ISC_433 Exam [1]
+ISC_433 Exam [2]
+...
+ISC_433 Exam [50]
 ```
 
-List VMs that can be edited:
+List all VMs that can be edited:
 ```
-nexus-client vmlist_edit
+nexus-client vmlist_edit .
 ```
 
 Edit VM `6713ce26-941e-4d95-8e92-6b71d44bf75a` by changing its name to "Tagada VM", changing it to 1 CPU and no network interface (`none`):
@@ -164,9 +212,14 @@ Edit VM `6713ce26-941e-4d95-8e92-6b71d44bf75a` by changing its name to "Tagada V
 nexus-client vm_edit 6713ce26-941e-4d95-8e92-6b71d44bf75a name="Tagada VM" cpus=1 nic=none
 ```
 
-List VMs that can be deleted:
+Edit VMs matching the "PCO lab2" pattern by changing their CPU to 1 core and a network interface with NAT translation (`user`):
 ```
-nexus-client vmlist_del
+nexus-client vm_edit "PCO lab2" cpus=1 nic=user
+```
+
+List all VMs that can be deleted:
+```
+nexus-client vmlist_del .
 ```
 
 Delete VM `6713ce26-941e-4d95-8e92-6b71d44bf75a`:
@@ -174,16 +227,14 @@ Delete VM `6713ce26-941e-4d95-8e92-6b71d44bf75a`:
 nexus-client vm_del 6713ce26-941e-4d95-8e92-6b71d44bf75a
 ```
 
-Automatically create 50 VMs (`Student_VM1` to `Student_VM50`) based on the `8ae56a30-3195-4aea-960d-abb45c47f99e` template (Xubuntu 22.04) with 2 CPUs, 2GB RAM and no network interface:
+Delete VMs matching the "exam ISC_433 PCO" pattern:
 ```
-for i in {1..50}; do nexus_client vm_create Student_VM$i 2 2048 none 8ae56a30-3195-4aea-960d-abb45c47f99e; done
+nexus-client vm_del "exam ISC_433 PCO"
 ```
 
-Remark: it takes about 30 seconds and 11MB of disk space to create the 50 VMs above.
-
-List VMs that can have their access edited:
+List all VMs that can have their access edited:
 ```
-nexus-client vmlist_editaccess
+nexus-client vmlist_editaccess .
 ```
 
 Set the VM access for VM `89649fe3-4940-4b77-929e-50903789cd87` with: `VM_LIST` and `VM_DESTROY` for user `student@nexus.org`:
@@ -191,14 +242,29 @@ Set the VM access for VM `89649fe3-4940-4b77-929e-50903789cd87` with: `VM_LIST`
 nexus-client vm_setaccess 89649fe3-4940-4b77-929e-50903789cd87 student@nexus.org VM_LIST VM_DESTROY
 ```
 
-Remove any VM access for `student@nexus.org` from VM `89649fe3-4940-4b77-929e-50903789cd87`:
+Set VM access for VMs matching the "alpine" pattern with: `VM_START` and `VM_STOP` for user `student@nexus.org`:
+```
+nexus-client vm_setaccess alpine student@nexus.org VM_START VM_STOP
+```
+
+Remove VM access for `student@nexus.org` from VM `89649fe3-4940-4b77-929e-50903789cd87`:
 ```
 nexus-client vm_delaccess 89649fe3-4940-4b77-929e-50903789cd87 student@nexus.org
 ```
 
-List available templates:
+Remove VM access for `student@nexus.org` from VMs matching the "lab2" pattern:
+```
+nexus-client vm_delaccess lab2 student@nexus.org
+```
+
+List all available templates:
+```
+nexus-client tpl_list .
+```
+
+List templates matching the "ubuntu" pattern:
 ```
-nexus-client tpl_list
+nexus-client tpl_list ubuntu
 ```
 
 Create a new `public` template, named "Xubuntu 22.04 + golang toolchain" based on VM `89649fe3-4940-4b77-929e-50903789cd87` (`public` templates are accessible to everyone while `private` templates are only accessible to their creators):
@@ -220,7 +286,7 @@ Get the source code with:
 git clone ssh://git@ssh.hesge.ch:10572/flg_projects/nexus_vdi/nexus-client.git
 ```
 
-To build and run `nexus-client-exam`, go into `src/client_exam`, then run:
+To build and run `nexus-client-exam`, go into `src/client_exam` and run:
 ```
 go run .
 ```
diff --git a/src/client_cli/cmdVM/vmCreate.go b/src/client_cli/cmdVM/vmCreate.go
index e6d486860fed31b8d42674a361a2c8f42138b7d8..e7fe682ef4aa96ad3a2426bb780ed6153a4f24a3 100644
--- a/src/client_cli/cmdVM/vmCreate.go
+++ b/src/client_cli/cmdVM/vmCreate.go
@@ -15,7 +15,7 @@ func (cmd *Create)GetName() string {
 }
  
 func (cmd *Create)GetDesc() string {
-	return "Create one or more VMs."
+	return "Create one or more VMs (regex matching)."
 }
 
 func (cmd *Create)PrintUsage() {