Positive look-ahead assertion (?=...)

Q

What is a positive look-ahead assertion? How to use it?

How to write a regular expression to find words with 'oo' in text like: how, to, look, google, school?

✍: FYIcenter.com

A

A positive look-ahead assertion is a zero-width assertion that allows you to match a subpattern beyond the current position (look-ahead) without moving the matching position. Positive look-ahead assertion is expressed as (?=pattern). For example:

\w+(?=\t)  - matches a word followed by a tab without tab in the match

The regular expression to match find words with 'oo' is:

 *(?=\w*oo)(\w+)

 *          - skip space characters
(?=\w*oo)   - any word with '00' ahead?
(\w+)       - capture the word

Click the button to test this regular expression here online:

2013-01-26, 0👍, 0💬