私はPCREパターンを持っています:
$pattern = '/(.*)(\[(heading)\](.*)\[\/\3\])(.*)/Us'
そしてこのテキスト
$text ='Millipore Milli-Q システム (米国マサチューセッツ州ビレリカ) からの蒸留水。
HPLC グレードのメタノールおよびアセトニトリルは、JT Baker Phillipsburg、NJ、USA から購入)。
[見出し]見出しテスト[/見出し]
Aldrich (ミルウォーキー、ウィスコンシン、米国) から購入した 3-アミノフルオランテン。
1-アミノピレン
1-パルミトイル-グリセロ-3-ホスホコリン
カフェイン
シトシン
ギ酸 (LC/MS グレード)
ナリジクス酸
テオフィリン
Fluka (Milwaukee, WI, USA) から購入した HPLC グレードのロイシン エンケファリン
塩酸アミトリプチリン
β-Asp-Leu
イソロイシン
γ- Glu-Leu
馬尿酸
ロイシン
1-オレオイル-グリセロ-3-ホスホコリン
フェニルアラニン
Sigma (米国ミズーリ州セントルイス) から購入した
1-ステアロイル-グリセロ-ホスホコリントリプトファンおよびチロシン。
'
私が実行すると:
preg_match_all($pattern,$text,$matches,PREG_OFFSET_CAPTURE)
最後のサブパターン、末尾の '(.*)' がキャプチャされません。その理由がわかりません。説明はありますか?
(つまり、Millipore Milli-Q システム (米国マサチューセッツ州ビレリカ) から蒸留水を取得します。HPLC グレードのメタノールとアセトニトリルは、米国ニュージャージー州の JT Baker Phillipsburg から購入しました)。[見出し]見出しテスト[/見出し]'
ただし、文字列の最後の部分ではありません:
3-アミノフルオランテンは、Aldrich (Milwaukee, WI, USA) から購入しました。1-アミノピレン 1-パルミトイル-グリセロ-3-ホスホコリン カフェイン シトシン ギ酸 (LC/MS グレード) ナリジクス酸 テオフィリン Fluka (Milwaukee, WI, USA) から購入した HPLC グレードのロイシン エンケファリン 塩酸アミトリプチリン β-Asp-Leu イソロイシン γ- Glu-Leu 馬尿酸ロイシン 1-オレオイル-グリセロ-3-ホスホコリン フェニルアラニン 1-ステアロイル-グリセロ-ホスホコリン トリプトファンおよびチロシンは、Sigma (セントルイス、ミズーリ州、米国) から購入しました。
私が欲しい)