Mais um post da série sobre expressões regulares. Os outros posts de regex podem ser encontrados aqui, aqui e aqui.

Valida número do ISBN (International Standard Book Number)

ISBNx20(?=.{13}$)d{1,5}([- ])d{1,7}1d{1,6}1(d|X)$
[Testar](http://regexpal.com/?flags=&regex=ISBNx20%28%3F%3D.{13}%24%29d{1%2C5}%28[-%20]%29d{1%2C7}1d{1%2C6}1%28d X%29%24&input=ISBN%20972-1-02783-9)

Valida formato do CNPJ

d{2}.?d{3}.?d{3}/?d{4}-?d{2} 

Testar

**Limitar o tamanho de uma string em 50 caracteres **

^(.|n){0,50}$ 
[Testar](http://regexpal.com/?flags=&regex=^%28. n%29{0%2C50}%24&input=Bla%20teste%20uahsuhaushua%20regex%20%C3%A9%20legal%20jonnas%20fonini)

Valida formato de temperaturas Celsius e Fahrenheit

^([+-]?[0-9]+)([CF])$

Testar

Valida nomes de dispositivos no Linux (mude a parte do “eth” para validar outros dispositivos)

^(eth[0-9]$)|(^eth[0-9]:[1-9]$)
[Testar](http://regexpal.com/?flags=&regex=^%28eth[0-9]%24%29 %28^eth[0-9]%3A[1-9]%24%29&input=eth0)

Valida nomes de domínios

^(a-zA-Z0-9([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?.)+[a-zA-Z]{2,6}$

Testar

Valida e-mails de TLD’s (Top Level Domains) específicos

^[A-Z0-9._%+-]+@[A-Z0-9.-]+.(?:|com|org|net|gov|[A-Z]{2})$
[Testar](http://regexpal.com/?flags=im&regex=^[A-Z0-9._%25%2B-]%2B%40[A-Z0-9.-]%2B.%28%3F%3A com org net gov [A-Z]{2}%29%24&input=contato%email.net%0Ateste%40teste.biz)

Localiza tags HTML vazias

<(A-ZA-Z0-9\*)[^>]\*>s*</1>

Testar

Localiza variáveis e valores de arquivos INI

^([^=rn]+)=(.*)

Testar

Encontra linhas duplicadas

^(.*)(r?n1)+$

Testar

Localiza rótulos de discos do Windows. Ex: C:

^([a-z]):

Testar