diff --git a/azurerm/internal/services/storage/validate/storage.go b/azurerm/internal/services/storage/validate/storage.go
index <HASH>..<HASH> 100644
--- a/azurerm/internal/services/storage/validate/storage.go
+++ b/azurerm/internal/services/storage/validate/storage.go
@@ -8,8 +8,8 @@ import (
 func StorageShareDirectoryName(v interface{}, k string) (warnings []string, errors []error) {
 	value := v.(string)
 
-	if !regexp.MustCompile(`^[A-Za-z0-9-]+(/[A-Za-z0-9-]+)*$`).MatchString(value) {
-		errors = append(errors, fmt.Errorf("%s must contain only uppercase and lowercase alphanumeric characters, numbers and hyphens, and can be nested multiple levels", k))
+	if !regexp.MustCompile(`^[A-Za-z0-9\-_]+(/[A-Za-z0-9\-_]+)*$`).MatchString(value) {
+		errors = append(errors, fmt.Errorf("%s must contain only uppercase and lowercase alphanumeric characters, numbers, hyphens and underscores, and can be nested multiple levels", k))
 	}
 
 	return warnings, errors
Updated storage share directory name regex to allow underscore (#<I>)

* updated storage share directory name regex to allow underscore



* updated storage share directory name regex to allow underscore