Fuel, Air, Spark... those three things in the right amount are what makes the engine go. The good news is your car's fuel system is controlled by a computer which gives feedback on possible issues in the fuel system. You are going to want to read the stored codes. (On Board Diagnostics, for your car should be OBDII) Not sure where you are located, but in my location Autozone offers a free service to read the codes for you. You can also purchase a code reader for $25 or more.
Not every single aspect of fuel, air and spark are captured by the engine control computer. Generally codes are set when a sensor goes awry, or the fuel system isn't working correctly. Again, not every failure mode will set a code. The computer system doesn't really know how to read successful spark. There are other faults that don't set codes.
There are many possible issues that make your car not start. The starting place for this journey is:
1.) You should purchase a paper repair manual for your vehicle. All of this stuff is explained quite well in there. Cost is around $30. Chiltons / Haynes are fine.
2.) Obtain the codes from the memory of your engine control computer. Report those exact codes from the OBDII reader.
Let us know what the codes are. If, after running the car for ten or 15 minutes there are no codes set in OBDII memory, don't worry.
There are a whole lot of things that could be awry, including things like faulty spark plugs, faulty spark plug wires, faulty ignition module and faulty engine control computer, that DONT set a code in OBDII. (Engine computer has a memory module with a central processor unit AND it has a whole bunch of electronic gates that control things.. It's quite possible the CPU is good, but an output electronic gate is awry. Been there done that...)
I wouldn't assume that your mechanic doesn't know what he is doing. A competent mechanic can certainly troubleshoot items with OBDII feedback. Other stuff is more difficult, but not impossible.
Additionally your car is more than ten years old. Its quite easy for a wire to become worn and frayed, or a rubber hose to become brittle and cracked. Have you at least done a careful visual inspection of EVERY hose and wire visible in the engine compartment? How are your spark plug wires? Are all of the electrical grounds in place and tight? Its possible you've got a partially connected wire or loose ground somewhere. That could affect a sensor, or a control module or even engine spark etc...