O documento discute expressões regulares, que são padrões de texto usados para especificar uma combinação de caracteres. Ele explica os principais metacaracteres usados em expressões regulares, como circunflexo, cifrão, colchetes, chaves e asterisco, e como eles afetam o posicionamento e quantidade de caracteres. Também diferencia metacaracteres de expressões regulares de curingas usados em shells.
1. UESPI – Universidade Estadual do Piauí
Bacharelado em Ciências da Computação
OPTATIVA I
- Expressões Regulares
Tarcísio Franco Jaime
2. 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;
...
3. 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
4. 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
5. 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
6. 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}
7. 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
8. 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.
9. 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?
10. 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,}
11. 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