O que faz: fazer em regex
tenho uma expressão regular que se parece com esta
/^(?:\w+\s)*(\w+)$*/
O que é o ?:
?
3 answers
()
não aparecerá na lista de fósforos, apenas (\w+)
aparecerá.
Você ainda está à procura de um padrão específico (neste caso, um único caractere de espaço em branco seguindo pelo menos uma palavra), mas você não se importa com o que realmente corresponde.
Além das excelentes respostas fornecidas, a sua utilidade é também simplificar o código necessário para extrair grupos dos resultados correspondentes. Por exemplo, seu grupo (\W+) é conhecido como Grupo 1 sem ter que se preocupar com quaisquer grupos que aparecem antes dele. Isto pode melhorar a manutenção do seu código.
Significa apenas o grupo mas não se lembra da parte agrupada.
Por omissão (
)
diz ao motor regex para se lembrar da parte da cadeia que corresponde ao padrão entre ele. Mas às vezes nós só queremos agrupar um padrão sem ativar a memória regex, para fazer isso nós usamos (?:
no lugar de (