tests:
1. 'Product: aab bbc; Product: xyz pqr; Junk1: jjkk jjuu; Junk2: nnnkk junk; Junk3: lkie rnier rae'
2. 'Product: Fuasdcsen'
3. 'Product: marlwaw Swwō'
4. 'Product: aab bbc abc xyz; Product: xyz pqr; Junk1: jjkk jjuu; Junk2: nnnkk junk; Junk3: lkie rnier rae'
output:
1. ['aab bbc', 'xyz pqr']
2. ['Fuasdcsen']
3. ['marlwaw Swwō']
4. ['aab bbc abc xyz', 'xyz pqr']
I want list of only Product name. so, far i have came up with r'Product:\s*(.*)(?:;|$)' this regex but it only works with single Products(case 2 and 3). can somebody suggest general solution for all. I am trying to extract details between : and ;(if present).
In [10]: reg_str = 'Product: marlwaw Swwō xyz abc'
In [11]: re.findall(r'Product:\s*(.*)(?:;|$)', reg_str)
Out[11]: ['marlwaw Swwō xyz abc']