@@ -48,23 +48,11 @@ public abstract partial class RdsCmdlet
4848        // explicit key name for OU element 
4949        protected  const  string  ouKeyRegexPattern  =  @"OU" ; 
5050
51-         // all normal non quoted string chars, which includes all ASCII values in the range 0x20-0x126 except for escaped character for non quoted string,  , \ <CR> = < > " # ; or + 
52-         protected  const  string  normalCharRegexPattern  =  @"[A-Za-z0-9 !\$%&'()\*\-\.\/\:\?@\[\]\^_`{\|}~]" ; 
53- 
54-         // valid escape characters for non quoted string, , \ <CR> = < > " # ; or +, or an 8 bit value encoded as a hex pair 
55-         protected  const  string  escapedCharRegexPattern  =  @"\\([ ,\\\r=<>""#;+]|[0-9A-Fa-f]{2})" ; 
56- 
57-         // ASCII code in hex, e.g. #ff 
58-         protected  const  string  asciiCodeRegexPattern  =  @"#([0-9A-Fa-f]{2})+" ; 
59- 
60-         // Unicode grapheme 
61-         protected  const  string  unicodeRegexPattern  =  @"(?>\P{M}\p{M}*)" ; 
62- 
6351        // used to separate entities, , or + followed by 0 or more spaces 
6452        protected  const  string  delimiterRegexPattern  =  @"[\+,]\s*" ; 
6553
66-         // an entity value, consists of normal chars, escape codes and hex codes  
67-         protected  const  string  entityRegexPattern  =  @"("    +   normalCharRegexPattern   +   @"|"   +   escapedCharRegexPattern   +   @"|"   +   asciiCodeRegexPattern   +   @"|"   +   unicodeRegexPattern   +   @" )+"; 
54+         // an entity value, consists of characters other than , <CR> < > " # ; + =  
55+         protected  const  string  entityRegexPattern  =  @"([^,<>""#;+=\r\n] )+" ; 
6856
6957        // a key/entity pair, e.g DC=foo-bar.com 
7058        protected  const  string  keyEntityRegexPattern  =  @"("  +  keyRegexPattern  +  @"="  +  entityRegexPattern  +  @")" ; 
@@ -87,21 +75,10 @@ public abstract partial class RdsCmdlet
8775         * The entity begins with a key which must begin with a letter and contains letters, digits, or hyphens 
8876         *          [A-Z][A-Z0-9\-]*= 
8977         *          ( 
90-          * The entity value contains any char except for the special chars , \ <CR> = < > " # ; or + 
91-          *              ([A-Za-z0-9 !\$%&'()\*\-\.\/\:\?@\[\]\^_`{\|}~]) 
92-          *              | 
93-          * Or an escaped special char , \ <CR> = < > " # ; + or a space, or an 8 bit ASCII code in hex 
94-          *              (\\([ ,\\\r=<>""#;+]|[0-9A-Fa-f]{2})) 
95-          *              | 
96-          * Or a # followed by a sequence of 8 bit ASCII codes in hex 
97-          *              (#([0-9A-Fa-f]{2})+) 
98-          *  
99-          * Or a Unicode grapheme 
100-          *              (?>\P{M}\p{M}*) 
101-          *  
78+          * The entity value contains one or more characters except for the special chars , \ <CR> = < > " # ; or + 
79+          *              [^,<>""#;\+=\r\n] 
10280         * There will be 1 or more characters matching this pattern 
10381         *          )+ 
104-          *      ) 
10582         * Followed by a delimeter, either , or + 
10683         *      [\+,]\s* 
10784         * There may be 0 or more entities matching this pattern 
@@ -114,14 +91,8 @@ public abstract partial class RdsCmdlet
11491         * The entity key must match OU exactly.  This guarantees the overall pattern contains at least oen OU element 
11592         *      OU= 
11693         *      ( 
117-          * The entity value contains any char except for the special chars , \ <CR> = < > " # ; or + 
118-          *          ([A-Za-z0-9 !\$%&'()\*\-\.\/\:\?@\[\]\^_`{\|}~]) 
119-          *          | 
120-          * Or an escaped special char , \ <CR> = < > " # ; + or a space, or an 8 bit ASCII code in hex 
121-          *          (\\([ ,\\\r=<>""#;+]|[0-9A-Fa-f]{2})) 
122-          *          | 
123-          * Or a # followed by a sequence of 8 bit ASCII codes in hex 
124-          *          (#([0-9A-Fa-f]{2})+) 
94+          * The entity value contains one or more characters except for the special chars , \ <CR> = < > " # ; or + 
95+          *              [^,<>""#;\+=\r\n] 
12596         * There will be 1 or more characters matching this pattern 
12697         *      )+ 
12798         *  ) 
@@ -135,14 +106,8 @@ public abstract partial class RdsCmdlet
135106         * The entity begins with a key which must begin with a  letter and contains letters, digits, or hyphens 
136107         *          [A-Z][A-Z0-9\-]*= 
137108         *          ( 
138-          * The entity value contains any char except for the special chars , \ <CR> = < > " # ; or + 
139-          *              ([A-Za-z0-9 !\$%&'()\*\-\.\/\:\?@\[\]\^_`{\|}~]) 
140-          *              | 
141-          * Or an escaped special char , \ <CR> = < > " # ; + or a space, or an 8 bit ASCII code in hex 
142-          *              (\\([ ,\\\r=<>""#;+]|[0-9A-Fa-f]{2})) 
143-          *              | 
144-          * Or a # followed by a sequence of 8 bit ASCII codes in hex 
145-          *              (#([0-9A-Fa-f]{2})+) 
109+          * The entity value contains one or more characters except for the special chars , \ <CR> = < > " # ; or + 
110+          *              [^,<>""#;\+=\r\n] 
146111         * There will be 1 or more characters matching this pattern 
147112         *          )+ 
148113         *      ) 
0 commit comments