我必须在c#中的文本更改事件中自动插入9位数的连字符,而不是javascript。
因此,如果我的号码是123456789,那么它会自动变为12345-6789。
我想使用regex.match。
我的尝试:
正则表达式“^ \ d {5}( - \ d {4})?$”是结果应该如何。
所以,
Regex regTest = new Regex("^\\d{5}(-\\d{4})?$");
Match match = regTest.Match(s);
if (match.Success)
{
var numString = match.Value;
}
但上述情况并未取得成功。
感谢您的帮助。
答案 0 :(得分:6)
您的代码示例只需检查格式为xxxxx-xxxx
。它不插入连字符。
您不需要RexEx来插入连字符:
myString.Insert(5, "-");
答案 1 :(得分:0)
正则表达式似乎是正确的。你可以在这里验证:
http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx
很可能你没有插入' - '然后匹配。