用于拨号前缀eg +44等的正则表达式

本文关键字:正则表达式 eg 前缀 用于 | 更新日期: 2023-09-27 18:04:34

我意识到为所有国际号码制作正则表达式是徒劳的。因此,作为折衷方案,我需要一个正则表达式来检查字符串是否以国际拨号代码开头,例如:

(+44)或(+33)等

我不知道如何写正则表达式,所以任何帮助将是非常感激的。

注。这是用于c#.net项目。

谢谢。

用于拨号前缀eg +44等的正则表达式

试试这个

var regex=new Regex(@"^'('+'d{1,4}')");

我在字符串前使用@位所以你不需要双转义'

这并

^匹配字符串

'( Match (

'+ Match +

'd{1,4}匹配1-4位

')匹配括号

当你正在使用c#时,你可能希望考虑使用Expresso,因为它可以帮助你构建和测试针对。net正则表达式库的正则表达式,甚至可以生成c#代码供你使用。

这是一个复杂的问题,因为电话号码不需要格式化,所以它可能在国家代码后面有一个数字。由于这些代码可以有不同的长度,您将需要一个国家代码列表来检查。美国和俄罗斯分别有1和7,大多数欧洲国家和更大的其他国家有两位数的代码,但也有3位数的代码(我相信不会更多)。所以你至少需要一个1位数和2位数的代码列表,如果你的电话号码没有以列表中的任何代码开头,可以假设是3位数。

在你开始考虑是否使用正则表达式构建这个之前,我会弄清楚这一点。在一段简单的代码中可能更容易。