As it is something punctual to look for in the sublime I believe that the problem is only to find the part of the year valid or invalid, with that the part after the year would be the date that by what you said will come correct.
With this to check only the valid year can use this regex:
^EMISSAO="(19\d{2})|20(0[0-9]|1[0-7])-/d{2}-\d{2}\s(\d{2}:){2}\d{2})"$
Explaining:
(19 \ d {2}) | 20 (0 [0-9] | 1 [0-7]) - House years 19 through 2000 until 2017
\ d {2} - \ d {2} \ s - Here are the subsequent parts of the date: month and day. Not validated yet because apparently only the year comes wrong. And including any space using \ s
"
and then finally the last 2 remaining numbers.
I have tested here with these cases:
EMISSAO="2017-04-18 00:00:00" // passa
EMISSAO="1990-04-18 00:00:00" // passa
EMISSAO="2016-04-18 00:00:00" // passa
EMISSAO="2015-04-18 00:00:00" // passa
EMISSAO="2017-04-18 00:00:00" // passa
EMISSAO="2018-04-18 00:00:00" // não passa
EMISSAO="22000 00:00:00" // não passa
EMISSAO="2016-04-18 00:00:00" // passa
EMISSAO="65321-04-18 00:00:00" // não passa
EMISSAO="5069 00:00:00" //não passa
EMISSAO="2018 00:00:00" //não passa
EMISSAO="2019 00:00:00" //não passa
EMISSAO="2020 00:00:00" //não passa