diff --git a/src/Microsoft.ML/Data/TextLoader.cs b/src/Microsoft.ML/Data/TextLoader.cs index 3c8550ef09..2df8b8a23a 100644 --- a/src/Microsoft.ML/Data/TextLoader.cs +++ b/src/Microsoft.ML/Data/TextLoader.cs @@ -43,7 +43,7 @@ public TextLoaderRange(int min, int max) { Contracts.CheckParam(min >= 0, nameof(min), "Cannot be a negative number."); - Contracts.CheckParam(max >= min, nameof(max), "Cannot be less than " + nameof(min) +"."); + Contracts.CheckParam(max >= min, nameof(max), "Cannot be less than " + nameof(min) + "."); Min = min; Max = max; @@ -84,8 +84,8 @@ public TextLoader CreateFrom(bool useHeader = false, $"Valid characters are 0-9, *, - and ~"); var name = mappingAttr.Name ?? field.Name; - if (name.Any(c => !Char.IsLetterOrDigit(c))) - throw Contracts.Except($"{name} is not alphanumeric."); + if (Regex.Match(name, @"^[a-zA-Z_@]\w*$").Success) + throw Contracts.Except($"{name} contains invalid characters as a column name. "); Runtime.Data.TextLoader.Range[] sources; if (!Runtime.Data.TextLoader.Column.TryParseSourceEx(mappingAttr.Ordinal, out sources))