Though most of this has already been answered, there are some other core concepts that are still important for you and future people to know, as well as some mistakes in the other answer despite mostly being right.
A voltage regulator can actually be used to drive a brushed dc motor, it just in general is pretty stupid to do, there are many insane disadvantages to doing it that way and almost no advantages, perhaps in some strange medical device where not interference is desired it might work, but circuit isolation (for example, optocoupler for the signal would work better. perhaps in a full analog system it might be suited Voltage regulators are expensive and tend to only handle low current and low voltage, and completely unnecessary.
But it will work, a DC motor has resistance in the coils, so reducing the voltage will lower the current. and wattage(power) is voltage*amperage.
You can and probably should indeed just hook it up to the PWM output of the Arduino but in such a system using PWM tends to even be more efficient than analog, that is also why type-D amplifiers reach much louder sound with the same power usage.
For the motor itself especially when the PWM frequency is tuned to things like the coil impedance and such the coil will already automatically turn the PWM signal into a analog voltage over the coil, here the "over the coil" part is important, since efficiency stays up. essentially the coil changes resistance based on the driving frequency. you could even control a motors speed somewhat just by altering the drive frequency even if you always use a 50 % cycle, optimally your PWM frequency should be higher when the motor should go slower, that way there is less shocking and whining, of course probably still quite high. in most cases a general PWM frequency will work just right due to that effect of the coils automatically stabilizing it into a analog voltage.
PWM driving tends to actually be way more efficient. for PWM driving make sure to use square waves. so either on or off, the Arduino output pins output square waves since they only give 1 or 0.
The reason is because if a MOSFET or transistor is driven at less than full saturation(for the trigger, gate, base) the resistance will increase. this will also create a analog voltage, but in this case where with high frequency PWM the energy is put out in the coil(resistance comes from the coil), in this case when driving it analog the resistance comes from the transistor or MOSFET and so outputting the energy there, not only making it very inefficient, but also directly pumping 100 W of heat into the transistor or MOSFET. you would need a very good transistor and/or MOSFET to even handle that with a very good heatsink.
So use square wave PWM, and to increase efficiency you might want to tune the drive frequency as well, otherwise, typically increasing the frequency increases the efficiency, however once you increase it to far beyond the perfect point the maximum power going through the motor will decrease, the energy usage will also decrease along with that then but at a certain point it just will increase the coil impedance/resistance to much to still run at the full power. having a to high drive frequency is however easy to see and test, since you can actually see it since changing the speed from 80 % to 100 % will in such a case increase the real speed and power by a lot more than 25 %. you can also measure it by looking at the sound, vibration and current draw, you could even make it so that it is automatically tuned.
This effect can also be abused to save money. Since, for example, if your motor has a peak startup current 100 A but a normal run current of for example 40 A to 60 A under load then if you have a MOSFET or transistor which can actually only hand for example 80 A continues load, then you could just drive it at a very very high (so one of those way to high/to far beyond optimal) frequency at startup, doing so will greatly increase the motors impedance/relative resistance and so will make it start slower and with less force but also with way less energy, you can also use/abuse this to prevent a motor from burning through at to high load, since you drive it at such a frequency that the max current will never go above the maximum current it can handle(well except for if you run it around 100 % where there not really a frequency in signal since it is just full on).you could also calculate it using some values measured with some basic tools. but using and abusing these effects can be much harder and more tricky than it seems due to that auto-balancing effect of the coils, so it does work, but at the same time it can also be very specific.
Having a high enough drive frequency is generally good however.
This one is very important but I think I might have forgotten it.
It is true that a single transistor or MOSFET will only allow it to rotate in one direction, so indeed if you need 2 directions of rotation you can buy or make a H-bridge.

This is a example for a proper H-bridge design (source),
note the capacitor end is connected to the ground so to the bottom, this one seems to require a voltage booster(to above the voltage at which the h-bridge is driven) for the signals to work, due to it probably only being NPN types.
If you use normal transistors instead of MOSFETs you might not need the diodes. the capacitor might not be needed anyway, but you should add it if you don't want your batteries to explode due to overcurrent and if you want your motor to start properly