I have strings like:

> 
> 1. Your signing bonus is 123,000
> 2. This year signing bonus is bad. the signing bonus for this year is EUR 123,000
> 3. The bonus is 14,456, but signing bonus.
> 
> 
> 

I want the output like:

a) If there is any number followed by `signing bonus` keep that part of string and remove everything. **See Expected Output 1 & 2**

b) If no number is followed by `signing bonus` I should get the 1st part of the sting. **See expected output 3**

**Expected Output**

> 
> 1. is 123,000
> 2. for this year is EUR 123,000
> 3. The bonus is 14,456, but
> 
> 
> 

**My Regex:**

```
match1 = re.findall(r'(?<=\bSigning Bonus\b)\s*(?:\S+\b\s*){0,8}',value, re.I|re.M|re.DOTALL)

```

**It handles Output 1 and Output 2 but can't handle Output 3.** 

I am also open to solution which can be done without regex also!!