Lots of good technical starting points here. I don't want to prematurely discourage you, but before you get into any code, evaluate your problem solving abilities. If that is an area you struggle in, work on that first, or at least in conjunction with programming basics.
I've worked with engineers who have all the code skills, but when faced with a complex issue, struggled to break it down into it's simplest components and wound up with a messy, over-engineered solution.
particularly nasty situation, for real. in my experience, they know the bits of a framework, but they'll never get to write a modest regex: they'll have opinions on that too.