擅长:python、mysql、java
<p>如果要向compile方法传递多个字符串,则需要传递一个完整的正则表达式。你知道吗</p>
<pre><code>exp = '''
(?P<lastname>[A-Za-z]+),
(?P<initials>[A-Z]+),
(?P<firstname>[A-Za-Z]+),
(?P<ouc1>[A-Z0-9]+)\s
(?P<ouc2>[A-Z])\s<
(?P<email>[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4})'''
regex = re.compile(exp, re.VERBOSE)
</code></pre>
<p>虽然我不得不说,您的字符串只是逗号分隔的,所以这可能会更容易一些:</p>
<pre><code>>>> s = "Surname,MM,Forename,JTA19 R <first.second@domain.com>"
>>> lastname,initials,firstname,rest = s.split(',')
>>> ouc1,ouc2,email = rest.split(' ')
>>> lastname,initials,firstname,ouc1,ouc2,email[1:-1]
('Surname', 'MM', 'Forename', 'JTA19', 'R', 'first.second@domain.com')
</code></pre>