2016-04-06 10 views
0

私はPHPでpreg_split関数を使用して、段落を複数の文に分割しています。私の場合はPHPで完全停止して文字列を分割する "a.m."を除外します。

a.m.またはp.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('/\./', $str); 

がどのようにケースを除外することができますか?

答えて

0

の一致をブロックするには、(*SKIP)(*FAIL)を使用することができます。このアプローチの詳細については、http://www.rexegg.com/regex-best-trick.htmlをご覧ください。

​​

正規表現のデモ:https://regex101.com/r/uD9xD7/1

デモ:https://eval.in/548705

PHPの使用法:

$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); 

出力:

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] => 
) 

の場合はまた、imodifierを使用する必要があります。

+0

これは機能します。どうもありがとうございました。このケースはRegexの初心者にとっては非常に困難です。 –

関連する問題