powershell正则表达式和e.164

时间:2016-06-23 20:12:56

标签: regex powershell

在powershell中,我正在尝试为许多国家/地区创建E.164类型的正则表达式。我明确需要在我的号码中加上(+)加号,在大多数情况下需要多号码国家代码。 出于某种原因:'+ 421233339135'与'/^(\+[4][2][1])?([1-9]\d\d{7})$'

不匹配

+421是国家代码,CC之后的第一个数字需要在1-9之间,其余的可以是任何数字,然后是9位数之后是DID号码。

希望有人可以提供帮助: - )

1 个答案:

答案 0 :(得分:1)

  

出于某种原因:' + 421233339135'与'/^(\+[4][2][1])?([1-9]\d\d{7})$'

不符

PowerShell不是Perl,在预期的模式之前是领先的/ - 删除它。

模式本身可以简单地描述为^(\+421)?([1-9]\d{8})$

PS C:\> $phoneNumber = '+421233339135'
PS C:\> $phoneNumber -match '^(\+421)?([1-9]\d{8})$'
True