Ersetzen Sie das Datumsformat in Notepad++ durch reguläre Ausdrücke

Ersetzen Sie das Datumsformat in Notepad++ durch reguläre Ausdrücke

Ich habe Daten als MonthYear( Month-Yearz. B. 16. Mai, 21. Juli), aber sie müssen im richtigen dd.mm.yyyyFormat sein.

Zum Beispiel:
Aug20, muss werden 01.08.2020
May-19, muss werden 01.05.2019
Jul18, muss werden 01.07.2018
Nov-17, muss werden01.11.2017

Danke schön.

Antwort1

Wenn Sie es wirklich in einem einzigen Austausch tun möchten.

Sie müssen bedingte Ersetzungen verwenden, aber es ist unlesbar und nicht wartbar!


  • Ctrl+H
  • Finde was:(?:(Jan)|(Feb)|(Mar)|(Apr)|(May)|(Jun)|(Jul)|(Aug)|(Sep)|(Oct)|(Nov)|(Dec))-?(\d\d)
  • Ersetzen mit:01(?1.01.)(?2.02.)(?3.03.)(?4.04.)(?5.05.)(?6.06.)(?7.07.)(?8.08.)(?9.09.)(?10.10.)(?11.11.)(?12.12)20$13
  • TICK Groß-/Kleinschreibung beachten
  • TICK Umwickeln
  • WÄHLEN Regulären Ausdruck
  • Häkchen entfernen . matches newline
  • Replace all

Erläuterung:

(?:             # non capture group
(Jan)           # group 1, Jan
|               # OR
(Feb)           # group 2, Feb
|               # OR
(Mar)           etc.    
|
(Dec)           # group 12 Dec
)               # end group
-?              # optional hyphen
(\d\d)          # group 13, 2 digits

Ersatz:

01              
(?1.01.)        # if group 1 exists, print .01.
(?2.02.)        # if group 2 exists, print .02.
etc.
(?12.12)        # if group 12 exists, print .12.
20              # 20
$13             # content of group 13, the 2 digit year

Screenshot (vorher):

Bildbeschreibung hier eingeben

Screenshot (nachher):

Bildbeschreibung hier eingeben

Antwort2

Dies mit einem einzigen regulären Ausdruck zu tun, ist furchtbar komplex und lohnt den Aufwand nicht (es sei denn, man betrachtet es als Herausforderung).

Sie müssten für jeden Monat 12 Ersatzformulare ausfüllen. Beispiel:

Suchen nach: Aug-?(\d\d)
Ersetzen durch: 01.08.20\1
Aktivieren Sie „Regulärer Ausdruck“ und deaktivieren Sie „. entspricht Zeilenumbruch“.

Wobei -?bedeutet, dass das Zeichen -optional ist.

Bildbeschreibung hier eingeben

verwandte Informationen