this is what I'm using... it requires the space-hyphen-space between author, series(if there) and title, but it will filter out the brackets
(?P<author>[a-zA-Z'. ]+?) - \[?((?P<series>[a-zA-Z' ]+) (?P<series_index>[0-9\.]+)\]? - )?(?P<title>[^\.]+).*
|