だから私は正規表現を作成してテキストのコース内容を含めようとしていますが、3桁の数字とそれに続くピリオドといくつかのテキストを除外しています。基本的に、コーステキストを個々のコースラインに分割しようとしているので、すべての要素が1つのクラスのコース情報を持つ配列になります。
たとえば、次のものがあるとします。
$text = "295. Student-Initiated Courses or Projects. (1-2) 初年度のカリキュラムを修了した学生に開放されています. 295. 法務官と学長の承認が必要. 296. 法学論文. (8-13)"
そして、この巨大な正規表現:
$lineDelimiter = ='/(?:[0-9]{3}(?:\.5|\-[1-5])?[A-Z]?)(?:\-[0-9]{3}(?:\.5|\-[0-9])? [A-Z]?)?\.\s*.+\.\s*(?:(?:\([0-9]+\-*[0-9]*\))(?:\s*or\s*\([0-9]+\-*[0-9]*\))?)?\s*(?:Prerequisite)?.+(?:\n.+)?\.\n?(?:\s*Mr\.\s.+,?|\s*Ms\.\s.+,?|\s*Dr\.\s.+,?|\s*The\sFaculty.*,?)*[^(?:[0-9]{3}\..+)]/';
その巨大な正規表現の最後の部分は、
'/[^(?:[0-9]{3}\..+)]/'
preg_match_all でエラーが発生しました。
「296.Legal Dissertation.(8-13)」の部分を除外して、
「295. 学生主導のコースまたはプロジェクト。(1-2) 初年度のカリキュラムを修了した学生が対象。臨床研究、フィールドワーク、法的支援、個人の研究と執筆、専門誌の執筆または編集、学生が教えたコース、またはその他の深刻な教育的性質の法的プロジェクト。法 295 管理者および学部長の承認が必要です。」