I'm trying to use regex to extract information from some strings
I can find the text using re.search
, but how to get the information provided after the search term?
In the format Ref number ABC123456Ref date 01.01.2000
how can I return ABC123456
and 01.01.2000
?
import re
reqd_info = "Ref number"
test_text = 'Ref number ABC123456Ref date 01.01.2000'
res = re.search(reqd_info, test_text)
You can use groups in your regular expression, then use re.findall
to get a list of tuples containing the matched groups.
In [1]: import re
In [2]: test_text = 'Ref number ABC123456Ref date 01.01.2000'
In [3]: re.findall("Ref number (.*)Ref date (.*)", test_text)
Out[3]: [('ABC123456', '01.01.2000')]
In [4]: [[number, date]] = re.findall("Ref number (.*)Ref date (.*)", test_text)
In [5]: number
Out[5]: 'ABC123456'
In [6]: date
Out[6]: '01.01.2000'