'How to match all format phone numbers?

I tried to write the python code to get all the phone number from a string, but it still miss some number from them, could you please help assist ?

(+85)90 678 2842  
090 3156 374
090.315.6374
0903 164 567
0903 16 45 67
0903.16.45.67
+85 903 164 567
+85 90 316 4567 
+85(90)3 164567

my regex is using as below:

\\d{2,4}[ ,.]?\\d{2,4}[ ,.]?\\d{2,4}\

it missed some phone number begining with +85 or (+85)



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source