Padrões úteis de RegEx
Palavras no alfabeto latino
\b[A-Za-z]+\b
\b
indica a posição no limite de uma palavraA-Z
um caractere maiúsculo único no intervalo entre A e Za-z
um único caractere minúsculo no intervalo entre a e z+
quantificador que corresponde a 1 ou mais, quantas vezes for possível
Caracteres gregos
\p{Greek}+
\p
Indica uma propriedade.
Numeração Bekker
\d{1,4}[a|b]\d{1,2}
\d{1,4}
Corresponde ao intervalo entre 1 e 4 dígitos[a|b]
Corresponde a “a” ou “b”.\d{1,2}
Corresponde ao intervalo entre 1 e 2 dígitos
Numeração Stephanus
\d*[a|b|c|d|e]\d{1,2}
Limpeza do texto do corpus aristotélico depois da conversão (betacode → unicode)
\d*\s*[A-Za-z]{1,6}\.(\d{1,4}[a|b])\.(\d*)\s:\s(.+)\n
- Substituição:
\1\2 \3
Remoção da hifenização em texto da ed. Bekker do corpus aristotelicum
–\s*(\d*[a|b]\d*) (\p{Greek}+)
- Substituição:
\2 \1
***
Exemplo com posição e quantificador não-avarento
Na linha abaixo, eu preciso encontrar a referência Bekker.
Metaph. A 1 980a21 Πάντες ἄνθρωποι τοῦ εἰδέναι ὀρέγονται φύσει. σημεῖον δ᾽ 980a22 ἡ τῶν αἰσθήσεων ἀγάπησις·
(^.*)
é uma expressão que encontraria, do começo da linha em diante, o maior número possível de qualquer caractere que aparece zero ou mais vezes.
(^.*?)
é uma expressão que encontraria, do começo da linha em diante, o menor número possível de qualquer caractere que aparece zero ou mais vezes.(\d+[a|b]\d\d)
é uma expressão que encontraria tanto980a21
quanto980a22
.
Resultados
(^.*)(\d+[a|b]\d\d)
encontraria…
Metaph. A 1 980a21 Πάντες ἄνθρωποι τοῦ εἰδέναι ὀρέγονται φύσει. σημεῖον δ᾽ 980a22.
(^.*?)(\d+[a|b]\d\d)
encontraria…
Metaph. A 1 980a21