Palavras com Expressão Regular

Palavras são formadas por letras.

[a-z]

Uma ou mais letras.

[a-z]+

Maiúsculas ou minúsculas.

[A-Za-z]+

Com e sem acentução.

[A-ZÀ-Úa-zà-ú]+

Essa expressão regular encontra palavras como Árvore, REFERÊNCIA e computador. Mas falha com palavras compostas como: guarda-sol e cana-de-açúcar.

Palavras compostas.

[A-ZÀ-Úa-zà-ú]+(?:-[A-ZÀ-Úa-zà-ú]+)*

Explicação

  • "()": determinam um grupo para validação e retorno.
  • "?:": por padrão o valor entre os parênteses é retornado a parte. Como não precisamos desse valor, usamos "?:" para desconsiderar o retorno.
  • "*": representa 0 ou mais. Pode haver nenhum ou vários hífen seguido de radical (-chuva, -de-açúcar).

Exemplo PHP

<?php

$str = 'Eu, nós, guarda-chuva e cana-de-açúcar';

preg_match_all('#[A-ZÀ-Úa-zà-ú]+(?:-[A-ZÀ-Úa-zà-ú]+)*#', $str, $matches);

// $matches[0]

?>

resultado:

["Eu", "nós", "guarda-chuva", "e", "cana-de-açúcar"]

Exemplo Javascript

var str = 'Eu, nós, guarda-chuva e cana-de-açúcar';

var matches = str.match(/[A-ZÀ-Úa-zà-ú]+(?:-[A-ZÀ-Úa-zà-ú]+)*/g);

resultado:

["Eu", "nós", "guarda-chuva", "e", "cana-de-açúcar"]

You may also like...