テキストファイルで日付を検索する次の正規表現があります。
(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})
この検索文字列の前にある文字を見つけたいです。誰かが私を正しい方向に向けることができますか?前の文字は、検索して置換したい、(コンマ)です。
これを達成するには、前向きな先読みを使用する必要があります。
/,(?=(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}))/
このパターンはコンマと一致しますが、質問で指定したパターンと一致するものが後に続く場合に限ります。(検索/置換では、日付は置換されないことに注意してください)
,
正規表現に追加するだけです。次に、コンマが前に付いた日付のインスタンスにのみ一致します。
/,((\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}))/
元の正規表現はラップされ()
ており、最初のサブマッチとして利用可能になります。