diff --git a/PROMS/Volian.Print.Library/PDFReport.cs b/PROMS/Volian.Print.Library/PDFReport.cs index 3af74491..6eedd0b1 100644 --- a/PROMS/Volian.Print.Library/PDFReport.cs +++ b/PROMS/Volian.Print.Library/PDFReport.cs @@ -549,11 +549,16 @@ namespace Volian.Print.Library if (_RegexSearchString == null) { _RegexSearchString = _SearchString; - if (_RegexSearchString[0] == '%') - _RegexSearchString = _RegexSearchString.Substring(1); - if (_RegexSearchString[_RegexSearchString.Length - 1] == '%') - _RegexSearchString = _RegexSearchString.Substring(0, _RegexSearchString.Length - 1); - _RegexSearchString = _RegexSearchString.Replace("%", ".*"); + // Make it match the smallest matching string + _RegexSearchString = _RegexSearchString.Replace("*", ".*?"); + // If search string starts with a wildcard use the beginning of line token (^) + if (_RegexSearchString.StartsWith(".*?")) + _RegexSearchString = "^" + _RegexSearchString; + // If search string ends with a wildcard use the end of line token ($) + if(_RegexSearchString.EndsWith(".*?")) + _RegexSearchString = _RegexSearchString+"$"; + _RegexSearchString = _RegexSearchString.Replace("[", @"\["); + _RegexSearchString = _RegexSearchString.Replace("]", @"\]"); } return _RegexSearchString; }