$re = '/(((0|[1-9]\d*)?\.\d*|0|[1-9]\d*)?ı((0|[1-9]\d*)?\.\d*|0|[1-9]\d*)?)|((0|[1-9]\d*)?\.\d*|0|[1-9]\d*)/m';
$str = 'x.y
1.
.1
.
1.1ı1.1
1.ı1.1
.1ı1.1
1.1ı1
1.1ı1
.ı
.ı.
1.1ı.1
1.1ı1.
.1ı.1
.1ı1.
.ı1.1
.ı1.
.ı.1
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php