2016-04-06 19 views
0

Bir paragrafın birkaç cümlede olması için PHP'de preg_split işlevini kullanıyorum. Benim durumumdaDize içinde tam durma dizgisi "a.m." ifadesini hariç tut.

:

$str = 'Applicants can check the final result of Admissions through the online enquiry system. The online enquiry system will be available from 10:00 a.m. on November 16 (Wednesday).'; 

$arr = preg_split('/\./', $str); 
bir a.m. veya p.m. olduğunda Davayı hariç tutabilirsiniz nasıl

?

cevap

0

am/pm eşleşmelerini engellemek için (*SKIP)(*FAIL) kullanabilmeniz gerekir. Yaklaşım hakkında daha fazla bilgiyi buradan edinebilirsiniz, http://www.rexegg.com/regex-best-trick.html.

[ap]\.m\.(*SKIP)(*FAIL)|\. 

Regex Demosu: https://regex101.com/r/uD9xD7/1

Demo: https://eval.in/548705

PHP Kullanımı:

$str = 'Applicants can check the final result of Admissions through the online enquiry system. The online enquiry system will be available from 10:00 a.m. on November 16 (Wednesday).'; 

$arr = preg_split('/[ap]\.m\.(*SKIP)(*FAIL)|\./', $str); 

print_r($arr); 

Çıktı:

Array 
(
    [0] => Applicants can check the final result of Admissions through the online enquiry system 
    [1] => The online enquiry system will be available from 10:00 a.m. on November 16 (Wednesday) 
    [2] => 
) 

iseda imodifier'u kullanmasına izin verilmelidir.

+0

Çalışıyor. Çok teşekkür ederim. Bu dava Regex'e yeni başlayanlar için oldukça zor. –

İlgili konular