[Expressões regulares]
@brunomacabeusbr
@lukkascost
#ifce
Autores
Bruno Macabeus
Isabel Frota
Lucas Costa

Introdução
Fundamentadas na teoria dos automâtos e das linguagens formais

Originada na década de 50, com o estudo do matemático Stephen Cole Kleene

Primeiras implementação, ainda primitivamente, em SNOBOL, na década de 60
Primeira grande implementação em Perl, na década de 80

Quando usar?
Buscas em textos


Busca em bancos de dados
Interpretações da entrada enviada pelo usuário

Como usar?

Cada linguagem e software implementa de forma diferente as expressões regulares
Códigos de exemplo em Perl
Recebe como entrada uma string com o seguinte formato:
soma <number1> <number2>
menos <number1> <number2>
Se fornecer soma, somará number1 com number2. Se fornecer menos, subtrairá number1 com number2.
#!/usr/bin/perl
use strict;
use warnings;
print('Envie seu comando: ');
chomp(my $input = <>);
my ($command, $number1, $number2) = $input =~ /^(\w+)\s+(\d+)\s+(\d+)$/;
if ($command eq 'soma') {
print($number1 . ' + '. $number2 . ' = ' . ($number1 + $number2) . "\n");
} else {
print($number1 . ' - '. $number2 . ' = ' . ($number1 - $number2) . "\n");
}import re
input_value = input('Envie seu comando: ')
regexp_command = re.compile(r'^(\w+)\s+(\d+)\s+(\d+)$')
command, number1, number2 = regexp_command.search(input_value).groups()
number1 = int(number1)
number2 = int(number2)
if command == 'soma':
print(number1, '+', number2, '=', number1 + number2)
else:
print(number1, '-', number2, '=', number1 - number2)Códigos de exemplo em Python
Recebe como entrada uma string com o seguinte formato:
soma <number1> <number2>
menos <number1> <number2>
Se fornecer soma, somará number1 com number2. Se fornecer menos, subtrairá number1 com number2.
print('Envie seu comando:')
command, number1, number2 = string.match(io.read(), '(%w+)%s+(%d+)%s+(%d+)')
if command == 'soma' then
print(number1, '+', number2, '=', number1 + number2)
else
print(number1, '-', number2, '=', number1 - number2)
endCódigos de exemplo em Lua
Recebe como entrada uma string com o seguinte formato:
soma <number1> <number2>
menos <number1> <number2>
Se fornecer soma, somará number1 com number2. Se fornecer menos, subtrairá number1 com number2.
Ferramentas online

https://jex.im/regulex/

https://regex101.com/
Expressões regulares
By brunomacabeus
Expressões regulares
- 785