TextWrangler にいくつかのメモを含む大きなテキスト ファイルがあり、それを正規表現で解析し、一致を MySQL インポート用の CSV ファイルに書き込みます。サンプルソースは次のとおりです。
ARCHIVE
02.09.2014 22:35
title1
content
content
content
content
30.08.2014 18:13
title2
content
content with tab
content with tab
content
...
more notes as above
...
各メモは、改行で囲まれた日付で始まり、その後にタイトルといくつかの内容行が続きます。現在、TW 検索ダイアログで次の正規表現をテストしており、Grep をチェックして、各メモの日付、タイトル、およびコンテンツ ブロックを取得しています。
\r(\d\d\.\d\d\.\d\d\d\d \d\d:\d\d)\s*\r\r(.+)(?s)((?:(?!\r\d\d\.\d\d\.\d\d\d\d \d\d:\d\d\s*\r).)*)
これが行うことは、改行で囲まれた日付を探し、次にタイトル行をキャプチャし、最後に、別の日付ブロックに遭遇しない限り、後続のすべての行をキャプチャします。後者は、非キャプチャの否定先読みを使用します。(?s)
最後のステップの前に、ドット メタキャラクタにリターンを含めて DOTALL 設定を有効にします。
上記のサンプル ソースでは、検索は最初のメモでは機能しますが、2 番目のメモでは機能しません。いくつかの行はタブでインデントされています。TW に次のエラーが表示されます。
これは私が立ち往生しているところです。誰でも私にヒントを与えることができますか?