I got strings such as these:
'Age at death (years) 0.0'
'Age at death 0.0'
In both cases I need to capture Age at death.
To capture the desired string in the first example I used . (?= \(?. \)?), and for the second I used . (?= \d \.\d ). Adding | between the two in one expression didn't work as needed.
I'm looking for a way to combine the two so that they will be used conditionally for each scenario.
Thanks!
CodePudding user response:
You can use
^.*?(?=\s*[\d(])
See the regex demo.
Details:
^- start of string.*?- any zero or more chars other than line break chars, as few as possible(?=\s*[\d(])- a positive lookahead that requires zero or more whitespaces and then a digit or(immediately to the right of the current location.
