Det du behöver är att jobba med "deluttryck"
När du gör en sökning med GREP-syntax så funkar det så att de flesta tecken motsvaras av sig själv, t.ex. om du söker efter "d" så kommer alla förekomster av "d" att hittas. Om du däremot använder vissa symboler t.ex "\d" så betyder det att något visst ska hittas, i just detta fall en siffra.
Vill man kan man också ange ett visst antal repetitioner, så t.ex. för att hitta fyra siffror i följd skriver man \d{4}
Hela sökuttrycket för att hitta årtalsintervaller blir därför \d{4}-\d{4}
Men, nu vill du inte bara hitta något, utan du vill också ersätta en del av det du hittat, och då måste du jobba med s.k. deluttryck, vilket anges genom att skriva deluttrycket inom parentes, i fallet med årtalsintervaller lämpligen tre olika deluttryck, som då ser ut såhär:
(\d{4})(-)(\d{4})
När du sedan vill ersätta något så refererar man till deluttrycken med ett dollar-tecken och ordningen på deluttrycket, såhär:
$1
Den fullständiga ersättningsfrasen för årtalsintervaller blir därför
$1–$3
Vilket betyder "ta det första årtalet i träffen, stoppa dit det bindestreck du angivit och avsluta sedan med det andra årtalet" (som var uttryck nummer 3, om du hängt med i resonemanget ovan)