A command-based option that also requires WorldEdit (assuming that WorldEdit commands can be run from command blocks), would be running 3 command blocks on a not-too-fast clock. Let's say you want ore to repopulate in the quader from (-1000, 0, -1000) to (1000, 100, 1000) with coal and iron ore at a frequecy of 10% each and diamond ore at a frequency of 3%, assuming you have all chunks within this area loaded. Then the commands, run shortly after one another, are:
1) //pos1 -1000 0 -1000
2) //pos2 1000 100 1000
3) //replace stone 77%stone,10%coal_ore,10%iron_ore,3%doamond_ore
Set them up as a normal command block chain: Set the first command block on "Unconditional" and "Needs Redstone" and lead the clock output to it. Then, chain the other 2 command blocks to it with "Conditional" and "Always Active". (Assuming you use 1.9 or higher, otherwise still put the clock to the first one, but then place a comparator leading out of it into the second one and another comparator out of the second one into the third one, since 1.8 had no native command block chaining yet so you have to implement it manually using comparators.)