Sayregexp with special characters

I want to extract the begin and end attribute values from the tag life-span.
e.g.

or

or

This tag is optional (sometimes is returned from API, sometimes not).

  1. sayregexp "(?<=<life-span end=")[^"]+(?=")" ", " "". Works OK.
  2. sayregexp "(?<=<life-span begin=".+" end=")[^"]+(?=")" ", " "". FAILS. I found from another thread that mp3tag regexp are based on PERL so lookbehind must be fixed length.
    Any idea how to extract those attributes? All Life-span, Begin and end are optional. Begin and end order is random.