$re = '/^[А-ЩЄЮІЇЯ][а-щьєюіїя\']{1,}(-[А-ЩЄЮІЇЯ][а-щьєюіїя\']{1,})? [А-ЩЄЮІЇЯ][а-щьєюіїя\']{1,}(-[А-ЩЄЮІЇЯ][а-щьєюіїя\']{1,})? [А-ЩЄЮІЇЯ][а-щьєюіїя\']{1,}$/mu'; $str = '