2017-01-13 5 views
0

私はテキストを文章に分割する正規表現を持っています。しかし、正規表現は「ie」のような略語を使いこなす。無視する方法はありますか?略語のリストを言うことができますか?私が持っているもの次の正規表現の単語のリストを無視する方法を教えてください。

$sentences = preg_split('/(?<=[.?!])\s+(?=[a-z])/i', $string); 

1は、それが期間でそれを分割し、「つまり」を持っているテキストを使用している場合、これはしかし、通常の文字列との素晴らしい作品。助言がありますか?

(?<=(?<!\b(?:[i\.e\.])\b)[.!?])\s+(?=[\w]) 
+0

は、あなたがサンプル '$ STRING'を提供することができます: – chris85

+1

テキストを単語、句読点の文字または文に分割することは、簡単なパターンで簡単に行うことはできません。明確にするために、PHPはそれを行うための言語ではありません。この種のタスクに利用できるモジュールを持つPythonやJava(おそらくPerl)を使う方が良いでしょう。すでに訓練された辞書も必要です。 ** nlp **と** nltk **については、あなたのお気に入りの検索エンジン(duckduckgoについては確かに)で検索してください。そうしないと、DIYが貧弱になります。 –

答えて

0

はこの打撃を与えますか?おそらく `(i \ .e \。|省略形)(* SKIP)(* FAIL)|(?<= [。?!])\ s +(?= [a-z])`。
関連する問題