我正在尋找有12或13位數字的電話號碼。PowerShell正則表達式和e.164電話號碼
以下兩個正則表達式的工作:
PS C:\Data\UMCP> $bla = [regex]'^(\+[3][9])?([0-9]\d{9})$'
PS C:\Data\UMCP> $twelv -match $bla
True
PS C:\Data\UMCP> $bla = [regex]'^(\+[3][9])?([0-9]\d{10})$'
PS C:\Data\UMCP> $thirt -match $bla
True
但
PS C:\Data\UMCP> $bla = [regex]'^(\+[3][9])?([0-9]\d{9} | ^\+[3][9])?([0-9]\d{10})$'
PS C:\Data\UMCP> $thirt -match $bla
True
PS C:\Data\UMCP> $twelv -match $bla
False
我應該如何使用|
或?
在圖案的開始處添加'(?x)'或刪除管道周圍的空間。然後將模式與另一組的錨定在一起。或者使用'^(\ + [3] [9])?([0-9] \ d {9,10} $' –
可以舉個例子嗎?去除管道周圍的空間並沒有改變任何東西。謝謝! – PdeRover
你有一個匹配這個模式的字符串:'39是可選的開始,然後10或11位數?然後你可以使用'^(\ + 39)?[0-9] {10,11} $'。你不需要交替操作符'|'然後 –