我正在使用本文中的助手来创建MaskedTextbox
,如果我的掩码包含此字符我的字符有问题
b:Masking.Mask="^[0-9]{1,4}_$"
我得到
'MaskExpression' property was registered as read-only and cannot be modified without an authorization key.
在XAML
文件中,但我可以启动应用程序,启动后我得到:
Additional information: analyzing "^[0-9]{1,4}_$" - Unrecognized escape sequence _.
在:
SetMaskExpression(textBox, new Regex(mask, RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace));
我也尝试过使用:
\
\
相反但它给出了相同的结果。我该如何解决这个问题?
请注意,_
(下划线(不被视为正则表达式特殊元字符,不应进行转义。
b:Masking.Mask="^[0-9]{1,4}_$"
请注意,只有具有特殊含义的特殊正则表达式元字符才应进行转义。
请参阅 .NET Framework 参考中的字符转义:
字符或序列列 (
"字符">. $ ^ { [ ( | ) * + ?
- WS( 中包含的字符是特殊的正则表达式语言元素。若要在正则表达式中匹配它们,必须对它们进行转义或包含在正字符组中。例如,正则表达式$d+
或[$]d+
匹配"$1200"
。或"序列">列中列出的字符以外的字符在正则表达式中没有特殊含义;它们与自身匹配。