(?: # 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
如果你真的想在一次更换中做到这一点。
您必须使用条件替换,但它不可读且不可维护!
(?:(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
解释:
替代品:
截图(之前):
截图(之后):
用一个正则表达式来做这件事非常复杂,不值得付出努力(除非把它当作挑战)。
您需要为每个月编写 12 次替换。例如:
查找内容:
Aug-?(\d\d)
替换为:
01.08.20\1
勾选“正则表达式”并取消勾选“。匹配换行符”。
where
-?
表示字符-
是可选的。