Skip to content

Instantly share code, notes, and snippets.

@wilyJ80
Created August 26, 2024 22:07
Show Gist options
  • Save wilyJ80/adc4bcb6c63eecc92df4357ad89094d5 to your computer and use it in GitHub Desktop.
Save wilyJ80/adc4bcb6c63eecc92df4357ad89094d5 to your computer and use it in GitHub Desktop.
Exercicio 1 regex
#!/bin/bash
test_words() {
local pattern=$1
shift
local words=("$@")
for word in "${words[@]}"
do
if ! echo "$word" | grep -E "$pattern" > /dev/null ; then
echo "Failed: $word"
return 1
fi
done
echo 'Pass'
return 0
}
###################
# Apresente REGEX #
# para as #
# seguintes #
# linguagens. #
###################
#1 Todas as palavras que iniciam por b, seguido por zero ou mais a
echo 'Test #1'
item1=(b ba baa baaa)
pattern1='ba*'
test_words "$pattern1" "${item1[@]}"
#2 Todas as palavras contendo aa como subpalavra
echo 'Test #2'
item2=(aanimal aa babaa)
pattern2="aa"
test_words "$pattern2" "${item2[@]}"
#3 Todas as palavras contendo exatamente dois b
# OBS: Utilizada sintaxe estendida
echo 'Test #3'
item3=(bbrincadeira bb abbraco)
pattern3="^[^b]*b[^b]*b[^b]*$"
test_words "$pattern3" "${item3[@]}"
#4 Todas as palavras que terminam com aa ou bb
# OBS: Utilizada sintaxe estendida
echo 'Test #4'
item4=(olaa bb bbb)
pattern4="(aa|bb)$"
test_words "$pattern4" "${item4[@]}"
#5 Todas as palavras que nao possuem does a consecutivos
# OBS: Utilizada sintaxe estendida
echo 'Test #5'
item5=(brasil aranha amiga)
pattern5="[^aa]"
test_words "$pattern5" "${item5[@]}"
##################
# Apresente #
# REGEX para as #
# seguintes #
# linguagens. #
##################
#1 Conjunto de palavras sobre {a,b,c} contendo ao menos um a e ao menos um b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment