C# 是否可以将字符串转换为定义为正则表达式模式的自定义格式?
使用正则表达式只匹配未转换的字符串,所以这个问题可能会非常愚蠢,但无论如何: 假设我有一个电话号码:C# 是否可以将字符串转换为定义为正则表达式模式的自定义格式?,c#,regex,string-formatting,C#,Regex,String Formatting,使用正则表达式只匹配未转换的字符串,所以这个问题可能会非常愚蠢,但无论如何: 假设我有一个电话号码:+7771234567 我有一个正则表达式模式:^[+][0-9]\d{2}-\d{3}-\d{4}$ 如何使电话号码看起来像:+777-123-4567 谢谢假设您的字符串始终是一个+符号,后跟10位数字,您可以这样使用: String str = @"+7771234567"; System.Console.WriteLine(new Regex(@"^([+])(\d
+7771234567
我有一个正则表达式模式:^[+][0-9]\d{2}-\d{3}-\d{4}$
如何使电话号码看起来像:+777-123-4567
谢谢假设您的字符串始终是一个
+
符号,后跟10位数字,您可以这样使用:
String str = @"+7771234567";
System.Console.WriteLine(new Regex(@"^([+])(\d{3})(\d{3})(\d{4})$").Replace(str, "$1$2-$3-$4"));
将产生:
+777-123-4567
我所做的是将您的数字组捕获到正则表达式组中,并稍后通过
$
操作符访问它们。假设您的字符串将始终是一个+
符号,后跟10个数字,您可以使用类似这样的方式:
String str = @"+7771234567";
System.Console.WriteLine(new Regex(@"^([+])(\d{3})(\d{3})(\d{4})$").Replace(str, "$1$2-$3-$4"));
将产生:
+777-123-4567
我所做的是将您的数字组捕获到正则表达式组中,然后通过
$
操作员访问它们。+7771234567
这是电话号码的严格格式吗?它总是采用这种格式吗?+7771234567
这是电话号码的严格格式吗?它总是以这种形式出现吗?