precisa de ajuda com o padrão para extrair uma string?

1

Estou tendo problemas para encontrar a expressão regular adequada para corresponder a uma string.

eu tenho essa string

asdasa asdas asdhhgfh dfgdfdasa ttte aa1 asasda aa2

Estou tentando usar o regex, mas não consigo fornecer uma expressão regular adequada para corresponder às cadeias com 3 caracteres.

atualmente tentando ajustar este - ^. {2} $ mas não obtendo o esperado, obtendo o erro de falta do delimitador "^".

Eu também tentei um editor de regex on-line, não ajuda ainda.

você pode ajudar?

    
por Vitalik Jimbei 29.10.2015 / 10:38

2 respostas

5

Algo parecido com isto. Sua string está na segunda captura

(^|\s)+(.{3})($|\s)+

Explicação

  • /(^| )(.{3})($| )/g

    • 1º grupo de captura Capturing group (^|\s)+

      Quantificador: + Entre um e ilimitado, tantas vezes quanto possível, devolvendo conforme necessário [ganancioso]

      • 1ª alternativa: ^

        • ^ afirma a posição no início da string
      • 2ª alternativa: \s

        • \s corresponde a qualquer caractere de espaço em branco [\r\n\t\f ]
    • 2º grupo de captura (.{3})

      • .{3} corresponde a qualquer caractere (exceto a nova linha)

        Quantificador: {3} Exatamente 3 vezes

    • 3º grupo de captura ($| )+

      Quantificador: + Entre um e ilimitado, tantas vezes quanto possível, devolvendo conforme necessário [ganancioso]

      • 1ª alternativa: $

        $ afirma a posição no final da string

      • 2ª alternativa: \s

        • \s corresponde a qualquer caractere de espaço em branco [\r\n\t\f ]
    • g modificador: global. Todos os jogos (não retornam no primeiro jogo)

por A.B. 29.10.2015 / 10:54
1

Seguindo um exemplo (magia negra) em Perl para extrair todas as substrings de 3 letras

perl -ne 'while(/(\w)(?=(\w\w))/g){print "\n" }'
    
por JJoao 03.11.2015 / 11:06