I've a very similar situation here, same as above, but without genre. The filenames are 'Author FirstName LastName_SeriesnameSeriesindex_Title'.
I slightly modified your regex to
(?P<author>[A-Za-z ]+) ((?P<series>[^_\d]+)(?P<series_index>\d+)? )?(?P<title>[A-Za-z ][^_]+)
which more or less works besides two pitfalls:
1. The seriesindex isn't correct, e.g. 0051 is shown as 51.0
2. Spaces in seriesname aren't handled correctly, e.g. seriesname 'A B' is shown as 'B', and author as 'author A'.
Can you help correct this?