使用正規表示式取代Notepad++中的日期格式

使用正規表示式取代Notepad++中的日期格式

我的日期為MonthYear, Month-Year(例如:5 月 16 日、7 月 21 日),但我需要它們採用dd.mm.yyyy格式。

例如:
Aug20、需要成為01.08.2020
May-19、需要成為01.05.2019
Jul18、需要成為01.07.2018
Nov-17、需要成為01.11.2017

謝謝。

答案1

如果你真的想在一次替換中做到這一點

您必須使用條件替換,但它不可讀且不可維護!


  • Ctrl+H
  • 找什麼:(?:(Jan)|(Feb)|(Mar)|(Apr)|(May)|(Jun)|(Jul)|(Aug)|(Sep)|(Oct)|(Nov)|(Dec))-?(\d\d)
  • 用。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
  • 打鉤 相符
  • 打鉤 環繞
  • 選擇 正規表示式
  • 取消勾選 . matches newline
  • Replace all

解釋:

(?:             # 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

替代品:

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

截圖(之前):

在此輸入影像描述

截圖(之後):

在此輸入影像描述

答案2

使用正規表示式來完成此操作非常複雜,並且不值得付出努力(除非將其視為一種挑戰)。

您每個月需要編寫 12 個替換項目。例如:

尋找內容:Aug-?(\d\d)
取代為:01.08.20\1
勾選「正規表示式」並取消勾選「.匹配換行符號」。

其中-?表示該字元-是可選的。

在此輸入影像描述

相關內容