UESPI – Universidade Estadual do Piauí
    Bacharelado em Ciências da Computação



                         OPTATIVA I

- Expressões Regulares




Tarcísio Franco Jaime
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                   Expressão Regular
                        
                            Método formal de se especificar um
                            padrão de texto.
                        
                            É uma máscara
                        
                            Serve para dizer algo abrangente de
Prof. Tarcísio Franco




                            forma específica
                        ex.: [rgp]ato = rato, gato, pato;
                        data e horário;
                        número IP;
                         endereço de email;
                        ...
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                       Expressão Regular
                        
                            Metacaracteres
                            
                                Uma expressão regular é formada por
                                caracteres normais “c”, “9”,”S” e caracteres
                                especiais chamados metacaracteres, “$”,”*”.
Prof. Tarcísio Franco




                                META            NOME        POSICIONAMENTO

                                ^      Circunflexo     Representa o começo de linha

                                $      Cifrão          Representa o fim da linha
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                    Expressão Regular
                             Meta       Nome                        Texto
                        [abc]       Lista        Casa as letras “a” ou “b” ou “c”
                        [a-d]       Lista        Casa as letras “a” ou “b” ou “c” ou “d”
                        [^abc]      Lista negada Casa qualquer caractere, exceto “a” ou “b”
                                                 ou “c”
Prof. Tarcísio Franco




                        (esse|aquele) Ou         Casa as strings “esse” ou “aquele”
                            Meta         Nome                   Quantidade
                        a{2}        Chaves      Casa a letra “a” duas vezes
                        a{2,4}      Chaves      Casa a letra “a” de duas a quatro vezes
                        a{2, }      Chaves      Casa a letra “a” no mínimo 2 vezes
                        a?          Opcional    Casa a letra “a” zero ou uma vez
                        a*          Asterisco   Casa a letra “a” zero uma ou mais vezes
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                   Expressão Regular
                            META           NOME              Curingas

                        .          Ponto          Casa um caractere qualquer

                        .*         Curinga        Qualquer coisa, é o tudo e o
                                                  nada
Prof. Tarcísio Franco
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                  Expressão Regular
                        
                            Não confundir estes metacaracteres com
                            os curingas do shell
                                               Shell    Expressões Regulares

                                   *
Prof. Tarcísio Franco




                                   ?
                                   {a,b}
                                   [abc]
                                   [^abc]
                                   [0-9]
                                   *.txt
                                   arquivo-??.txt
                                   arquivo.{txt,html}
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                  Expressão Regular
                        
                            Não confundir estes metacaracteres com
                            os curingas do shell
                                             Shell       Expressões Regulares
                                    *                .*
Prof. Tarcísio Franco




                                    ?                .
                                    {a,b}            (a|b)
                                    [abc]            [abc]
                                    [^abc]           [^abc]
                                    [0-9]            [0-9]
                                    *.txt            .*.txt
                                    arquivo-??.txt   arquivo-...txt
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                   Expressão Regular
                        
                            Diferença entre:
                        grep root /etc/passwd
                        grep ^root /etc/passwd
                        
                             Listar todos os usuários q começam com
Prof. Tarcísio Franco




                            vogais no login.
                        
                            Listar todos os usuários q começam com
                            consoantes no login.
                        
                            Listar todos os usuários onde a 2ª letra do
                            login é vogal.
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                    Expressão Regular
                        
                            Qual outra maneira de escrever esta
                            expressão abaixo e o que ela faz:
                        grep '^..........................$' /etc/passwd
Prof. Tarcísio Franco




                        
                            Como achar linhas em branco no arquivo?
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                      Expressão Regular
                        
                            Quem pode fazer o papel do (AND)
                            Lógico:
                        Quais logins q começam com vogais E
                         usam o bash
Prof. Tarcísio Franco




                        
                            Equivalentes:
                              −   ? = {0,1}
                              −   * = {0,}
                              −   +={1,}
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                   Expressão Regular
                        
                            Sed – editor textos simples utilizado para
                            fazer pequenas transformações no
                            conteúdo. Não altera o conteúdo do
                            arquivo.
Prof. Tarcísio Franco




                        sed 's/aluno/UESPI/' /etc/passwd

                        
                            Usando expressão regular com sed
                            elimene todas as tags html do arquivo
                            /var/www/htdocs/index.html

expreg

  • 1.
    UESPI – UniversidadeEstadual do Piauí Bacharelado em Ciências da Computação OPTATIVA I - Expressões Regulares Tarcísio Franco Jaime
  • 2.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Expressão Regular  Método formal de se especificar um padrão de texto.  É uma máscara  Serve para dizer algo abrangente de Prof. Tarcísio Franco forma específica ex.: [rgp]ato = rato, gato, pato; data e horário; número IP; endereço de email; ...
  • 3.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Expressão Regular  Metacaracteres  Uma expressão regular é formada por caracteres normais “c”, “9”,”S” e caracteres especiais chamados metacaracteres, “$”,”*”. Prof. Tarcísio Franco META NOME POSICIONAMENTO ^ Circunflexo Representa o começo de linha $ Cifrão Representa o fim da linha
  • 4.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Expressão Regular Meta Nome Texto [abc] Lista Casa as letras “a” ou “b” ou “c” [a-d] Lista Casa as letras “a” ou “b” ou “c” ou “d” [^abc] Lista negada Casa qualquer caractere, exceto “a” ou “b” ou “c” Prof. Tarcísio Franco (esse|aquele) Ou Casa as strings “esse” ou “aquele” Meta Nome Quantidade a{2} Chaves Casa a letra “a” duas vezes a{2,4} Chaves Casa a letra “a” de duas a quatro vezes a{2, } Chaves Casa a letra “a” no mínimo 2 vezes a? Opcional Casa a letra “a” zero ou uma vez a* Asterisco Casa a letra “a” zero uma ou mais vezes
  • 5.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Expressão Regular META NOME Curingas . Ponto Casa um caractere qualquer .* Curinga Qualquer coisa, é o tudo e o nada Prof. Tarcísio Franco
  • 6.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Expressão Regular  Não confundir estes metacaracteres com os curingas do shell Shell Expressões Regulares * Prof. Tarcísio Franco ? {a,b} [abc] [^abc] [0-9] *.txt arquivo-??.txt arquivo.{txt,html}
  • 7.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Expressão Regular  Não confundir estes metacaracteres com os curingas do shell Shell Expressões Regulares * .* Prof. Tarcísio Franco ? . {a,b} (a|b) [abc] [abc] [^abc] [^abc] [0-9] [0-9] *.txt .*.txt arquivo-??.txt arquivo-...txt
  • 8.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Expressão Regular  Diferença entre: grep root /etc/passwd grep ^root /etc/passwd  Listar todos os usuários q começam com Prof. Tarcísio Franco vogais no login.  Listar todos os usuários q começam com consoantes no login.  Listar todos os usuários onde a 2ª letra do login é vogal.
  • 9.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Expressão Regular  Qual outra maneira de escrever esta expressão abaixo e o que ela faz: grep '^..........................$' /etc/passwd Prof. Tarcísio Franco  Como achar linhas em branco no arquivo?
  • 10.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Expressão Regular  Quem pode fazer o papel do (AND) Lógico: Quais logins q começam com vogais E usam o bash Prof. Tarcísio Franco  Equivalentes: − ? = {0,1} − * = {0,} − +={1,}
  • 11.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Expressão Regular  Sed – editor textos simples utilizado para fazer pequenas transformações no conteúdo. Não altera o conteúdo do arquivo. Prof. Tarcísio Franco sed 's/aluno/UESPI/' /etc/passwd  Usando expressão regular com sed elimene todas as tags html do arquivo /var/www/htdocs/index.html