PDFドキュメントから抽出されたコンテンツページを解析するために正規表現を使用してJavaコードを書いています。
文字列では、正規表現は一致する必要があります: 数字 (最大 3 つ) の後にスペース (または多数) が続き、その後に単語 (または多数の [単語: 任意の文字列]) が続きます。逆もまた同様です: (word(s) space(s) digit(s)), それらはすべて文字列に含まれている必要があります. また、先頭のスペースを考慮し、大文字と小文字を区別しません。
抽出されたコンテンツ ページは次のようになります。
取締役の責任 8
コーポレート・ガバナンス 9
報酬レポート 10
番号付けスタイルは一貫しておらず、数字と文字列の間のスペースの数はさまざまであるため、次のようにもなります。
01 目次
02 戦略とハイライト
04 会長挨拶
私が使用している正規表現は、任意の数の単語の後に任意の数のスペースが続き、次に 3 桁以下の数字に一致します。
(?i)([a-z\\s])*[0-9]{1,3}(?i)
それは機能しますが、うまくいきません。何が間違っているのかわかりませんか? そして、正規表現を繰り返して順序を反転する代わりに、両方の番号付けスタイル (文字列の左または右にページ番号を持つ) を検出する方法があればいいのにと思います。
乾杯