Assinções lookahead e lookbehind do Regex

1

Estou acostumado com o uso padrão de asserções lookahead e lookbehind como (por exemplo): .(?=foo) e (?<=foo). . Isto é, em um caso de lookahead, precisamos colocar o token de busca antes do lookahead; no caso de lookbehind, precisamos colocar o token de busca após o lookbehind. Mas eu também vi tal construção: (?=foo). . Isso faz sentido e, em caso afirmativo, o que vai corresponder?

    
por Ringger81 27.12.2017 / 12:56

1 resposta

0

Eu também vi (?=foo). . Isso faz sentido e, em caso afirmativo, o que irá corresponder?

Ainda é um regexp lookahead positivo:

enter image description here

Fonte regex101: testador e depurador de regex on-line

Notas:

  • Se sua expressão de teste for afoo , ela corresponderá a f .

  • Para corresponder a foo use (?=foo).+

por 27.12.2017 / 13:05

Tags