Text:
Hello, World!
Pattern (exact): Hello, World!
Pattern (any char): .+
Pattern (words): \w+
Pattern (capitalized words): [A-Z]\w+
Name="João Albuquerque da Cunha Filho"
Email="[email protected]"
EstadoCivil="Casado"
Cargo="Assistente de Auxiliar de Servente de Pedreiro"
Salário="R$ 1.095,00"
Pattern (Validate name/cargo): Exercise left to the presenter.
Pattern (Validate email): Exercise left to the presenter. Explain email validation problem.
Pattern (Validate estado civil): Casado > CASADO > CASAD[OA] > (?:CASAD|SOLTEIR|VI[ÚU]V)[O|A]
Pattern (Validate money): R\$\s*[\d.]*(,\d\d)?
"R$ 1.095,00"
"R$1095,00"
"$1,095.00"
"USD 1,095.00"
"US$ 1095.00"
Pattern (Validate R$ / USD): (R\$\s*[\d.]*(,\d\d)?)|((USD|(US)?\$)\s*[\d,]*(.\d\d)?)
(Caveat: no punctuation validation)
Viewer-submitted Pattern: (R\$\s*(\d{0,2}.?)?(\d{3}.?)*(,\d\d))|((USD|(US)?\$)\s*(\d{0,2},?)?(\d{3},?)*(.\d\d))
Uma empresa te manda uma planilha CSV malformada com suas várias filiais para você cadastrar elas no banco.
Text:
ID , Nome , Bairro , Cidade , UF, Terceirizado
-----,---------------------,----------------------------------------,-----------,---,-------------
0001 , Superloja Consolação, Consolação , São Paulo , SP, false
0002 , Loja filial Lapa , Lapa , São Paulo , SP, False
003 , Loja Carrefour Moca , Moca , São Paulo , SP, true
-----,---------------------,----------------------------------------,-----------,---,-------------
0101 , Loja principal Cidade Nova , Indaiatuba, SP, false
0103 , Quiosque Polo , Polo Shopping , Indaiatuba, SP, Yes
00102, Superloja Indaiá , Jardins Califórnia, Patrícia e Eldorado, Indaiatuba, SP, no
Pattern (separators): -+ > [-,]+ (oops) > -+, > (-+,)+ > (-+,?)+
Pattern (columns): [\wÀ-ü ]+ > [\wÀ-ü ]+,? > ([\wÀ-ü ]+,?)+
"À-ü" = unicode range of most latin-based alphabetic characters
Pattern (VALID columns): (flags /gm) ([\wÀ-ü ]+,?)+ > ([\wÀ-ü ]+,?){5} > ^([\wÀ-ü ]+,?){5} > ^([\w\dÀ-ü ]+,){5}([\w\dÀ-ü ]+)$
Flag
m(multiline) -> RegEx Reference -> Anchors
Pattern (INVALID columns): (flags /gm) ^([\w\dÀ-ü ]+,){4}([\w\dÀ-ü ]+)$ AND ^([\w\dÀ-ü ]+,){6}([\w\dÀ-ü ]+)$
Substitute (fix false/no): (flags /g) false > (F|f)alse > [Ff]alse > [Ff]alse|no > (flags /gi) false|no
Substitute (fix true/yes): Exercise left to the presenter.