My question is related with lookbehinds, I want to find all the first numbers after the word "this", I have the following data:
188282 this is an example of a number 12345 and 54321
188282 this is an example of a number 1234556
this is an example of a number 1234556
187293 this is another example of a number 74893 and 83978
Pattern:
this is an example of a number \d+
Output:
188282 this is an example of a number 12345
and 54321
188282 this is an example of a number 1234556
this is an example of a number 1234556
187293 this is another example of a number 74893 and 83978
To match all of them I used a more generic approach as I know I want the first number after the word “this”
Pattern:
this[^\d]+\d+
Output:
188282 this is an example of a number 12345
and 54321
188282 this is an example of a number 1234556
this is an example of a number 1234556
187293 this is another example of a number 74893
and 83978
Im tring to use lookbehinds now, as I don’t want to include part of the pattern in the results. Following my first approach:
Pattern:
(?<=this is an example of a number )\d+
Output:
188282 this is an example of a number 12345
and 54321
188282 this is an example of a number 1234556
this is an example of a number1234556
187293 this is another example of a number 74893 and 83978
Looks I’m getting there, I want to cover the last case as before, so I tried my second approach.
Pattern:
(?<=this[^\d]+)\d+
Output:
188282 this is an example of a number 12345 and 54321
188282 this is an example of a number 1234556
this is an example of a number 1234556
187293 this is another example of a number 74893 and 83978
Doesn’t match anything
Is it possible to have patterns inside lookbehinds? Am I trying a wrong approach to this problem? It’s a bit long but I wanted to show you what I tried so far instead of just asking the question
Thanks in advance