As expressões regulares são uma poderosa ferramenta para manipulação de texto e busca de padrões. Elas permitem que você encontre e substitua strings com base em regras específicas. Uma das funcionalidades mais interessantes das expressões regulares é a capacidade de utilizar declarações condicionais.
As declarações condicionais permitem que você especifique diferentes padrões de busca com base em determinadas condições. Isso pode ser útil em situações em que você precisa encontrar ou substituir strings com base em critérios específicos.
Existem dois tipos de declarações condicionais nas expressões regulares: lookahead e lookbehind. O lookahead verifica se uma determinada condição é verdadeira antes de fazer a correspondência com o padrão. Já o lookbehind verifica se uma determinada condição é verdadeira após a correspondência com o padrão.
Lookahead
O lookahead é representado pelo símbolo (?=). Ele é utilizado para verificar se uma determinada condição é verdadeira antes de fazer a correspondência com o padrão. Por exemplo, se você quiser encontrar todas as ocorrências da palavra ‘casa’ que são seguidas pela palavra ‘azul’, você pode utilizar a seguinte expressão regular:
(?=azul)casa
Essa expressão regular irá encontrar todas as ocorrências da palavra ‘casa’ que são seguidas pela palavra ‘azul’. Por exemplo, ela irá encontrar a palavra ‘casa’ na string ‘A casa azul é bonita’.
Lookbehind
O lookbehind é representado pelo símbolo (?<=). Ele é utilizado para verificar se uma determinada condição é verdadeira após a correspondência com o padrão. Por exemplo, se você quiser encontrar todas as ocorrências da palavra ‘azul’ que são precedidas pela palavra ‘casa’, você pode utilizar a seguinte expressão regular:
(?<=casa)azul
Essa expressão regular irá encontrar todas as ocorrências da palavra ‘azul’ que são precedidas pela palavra ‘casa’. Por exemplo, ela irá encontrar a palavra ‘azul’ na string ‘A casa azul é bonita’.
As declarações condicionais nas expressões regulares podem ser muito úteis em diversas situações. Elas permitem que você especifique diferentes padrões de busca com base em determinadas condições, tornando suas expressões regulares mais flexíveis e poderosas.