データベースに書き込むために、プロパティファイルからキーと値のペアを解析する正規表現が必要です。アプリケーションはjavaで書かれています。コメント行と空行に関する情報を保存する必要があるので、properties.loadは機能しません。エスケープされていない空白を含むキーと値のペアの正規表現
エスケープされていない空白や等号(エスケープされた空白を含む)が最初に出現するまではすべてです。 値は行末まではすべてですが、空にすることもできます。
それは、次の例と一致してい:
- キー=値を
- キー値
- key = valueの値
- キー
- キー値値
- キー\キー\ key = value
- キー\ key \ key値
私は、次の正規表現を試してみましたが、それは正しく、最後の2例を区切るません。
1. key\
2. key\ key value
代わりの
:私はRubularに乗る最後の2つの例については^(\\\s|[^\s=]+)+[\s|=](.*)?$
を
私もthisを試しましたが、それでも私にとっては役に立たない
ありがとうございました!
うまく動作するようです。ヘルプと説明をありがとう! :) – Sebastian
また、キーとグループを取得するためにグループ#1を使い続けるには '(。*?)(((?<!\\\\)\\ s | =)(。*?))? '値を取得する#4。 'Matcher.matches()'が文字列全体にマッチするので、文字列の開始/終了を実際に一致させる必要がなければ、それらを残すことができます。 –
@ Dan-Cruz非常に素敵な簡素化 - あなた自身の答えとしてそれを追加し、それにいくらかのクレジットを与えるべきです。 – cordsen