Besides the line by line issue already identified, one of the problems with your regex is greedy match. If your line contains something like this:
'some random text..name="Bob"..some more random text surname="Dylan" some more text'
the name=\"(.*)\" part of your regex will match as much as it can between quotes, i.e.:
Bob"..some more random text surname="Dylan
You have to either make your * quantifier non greedy by adding the ? qualifier, name=\"(.+?)\", or match characters which are anything but quotes, name=\"([^"]+)\" (I also changed * to + because it does not seem to make too much sense to match an empty string between quotes).