onlar boşluk ve küçük harfle takip eğer, cümle noktalama işaretleri bu son maç
'~\w+[.?!]+\s+(?=\p{Ll})~u'
regex demo
Açıklama Bkz kullanmak için:
\w+
- 1+ alfanümerik/alt çizgi sembolleri
[.?!]+
- 1+ literal .
, ?
veya !
\s+
- 1+ boşluk sembolleri ...
(?=\p{Ll})
- 1+ boşluk karakterleri ile izlenen küçük harfle takip edilen (bkz \p{Ll}
detayları ve daha Unicode kategori sınıfları için Unicode character properties).
PHP'de, Unicode dizeleriyle çalıştığınız için /u
değiştiricisini kullanın. İşte
bir
PHP code demo geçerli:
$re = '~\w+[.?!]+\s+(?=\p{Ll})~u';
$arr = array("Howdy world? lorem", "Howdy world... lorem", "Howdy world? lorem", "What is reality. howdy ",
"Howdy you. Lorem ", "Howdy you. 進撃の ");
print_r(preg_grep($re, $arr));
// => Array([0] => Howdy world? lorem [1] => Howdy world... lorem
//[2] => Howdy world? lorem [3] => What is reality. howdy)
Bu son cümle noktalama işaretleriyle eşleştirildiyse, bunlar boşluk ve küçük harfle takip edilir mi? –
Evet, ancak birden fazla beyaz alan olabilir. Yukarıda gördüğüm üçüncü örnekte olduğu gibi. –