1^(?:(?:\+|00)33[\s.-]{0,3}(?:\(0\)[\s.-]{0,3})?|0)[1-9](?:(?:[\s.-]?\d{2}){4}|\d{2}(?:[\s.-]?\d{3}){2})$
1^
2 (?:(?:\+|00)33|0) # Dialing code
3 \s*[1-9] # First number (from 1 to 9)
4 (?:[\s.-]*\d{2}){4} # End of the phone number
5$