用于拨号前缀eg +44等的正则表达式
本文关键字:正则表达式 eg 前缀 用于 | 更新日期: 2023-09-27 18:04:34
我意识到为所有国际号码制作正则表达式是徒劳的。因此,作为折衷方案,我需要一个正则表达式来检查字符串是否以国际拨号代码开头,例如:
(+44)或(+33)等
我不知道如何写正则表达式,所以任何帮助将是非常感激的。
注。这是用于c#.net项目。
谢谢。
试试这个
var regex=new Regex(@"^'('+'d{1,4}')");
我在字符串前使用@位所以你不需要双转义'
这并
^
匹配字符串
'(
Match (
'+
Match +
'd{1,4}
匹配1-4位
')
匹配括号
当你正在使用c#时,你可能希望考虑使用Expresso,因为它可以帮助你构建和测试针对。net正则表达式库的正则表达式,甚至可以生成c#代码供你使用。
这是一个复杂的问题,因为电话号码不需要格式化,所以它可能在国家代码后面有一个数字。由于这些代码可以有不同的长度,您将需要一个国家代码列表来检查。美国和俄罗斯分别有1和7,大多数欧洲国家和更大的其他国家有两位数的代码,但也有3位数的代码(我相信不会更多)。所以你至少需要一个1位数和2位数的代码列表,如果你的电话号码没有以列表中的任何代码开头,可以假设是3位数。
在你开始考虑是否使用正则表达式构建这个之前,我会弄清楚这一点。在一段简单的代码中可能更容易。