DevToolBoxFREE
BlogAdvertise

20 Pattern Regex che ogni sviluppatore deve conoscere: Esempi pronti da copiare

11 min di letturadi DevToolBox

Smetti di scrivere regex da zero. Ecco 20 pattern collaudati.

Testa i pattern con il nostro Regex Tester โ†’

Pattern di validazione

1. Email Address

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Corrisponde: user@example.com, john.doe+tag@company.co.uk

Non corrisponde: user@, @example.com, user@.com

2. URL (HTTP/HTTPS)

^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)$

Corrisponde: https://example.com, http://www.site.co.uk/path?q=1

3. Phone Number (International E.164)

^\+[1-9]\d{1,14}$

Corrisponde: +14155552671, +442071234567

Per numeri internazionali. US: vedi pattern #4.

4. US Phone Number

^(\+1)?[\s.-]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$

Corrisponde: (415) 555-2671, 415-555-2671, +1 415.555.2671

5. Strong Password

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

Richiede: 8+ caratteri, maiuscola, minuscola, cifra, speciale.

Corrisponde: MyP@ss1word | Non corrisponde: password, 12345678

6. IPv4 Address

^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$

Corrisponde: 192.168.1.1, 10.0.0.255

Non corrisponde: 256.1.1.1, 192.168.1

7. IPv6 Address (Simplified)

^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$

Indirizzi IPv6 completi come 2001:0db8:85a3:0000:0000:8a2e:0370:7334

8. Date (YYYY-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$

Corrisponde: 2026-01-15, 2025-12-31

Non corrisponde: 2026-13-01, 2026-00-15

Pattern di estrazione

9. Extract All Emails from Text

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

Con flag globale (g) trova tutti gli email.

10. Extract All URLs from Text

https?:\/\/[^\s<>\"']+

Pattern URL piรน semplice per estrazione.

11. Extract HTML Tags

<([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>(.*?)<\/\1>

Cattura nome tag e contenuto.

Per HTML complesso: usare DOMParser o cheerio.

12. Extract Numbers from String

-?\d+\.?\d*

Interi e decimali. 42, -3.14, 0.5

13. Extract Hashtags

#[a-zA-Z0-9_]+

Corrisponde: #javascript, #dev_tools, #React18

Pattern di formato

14. Credit Card Number (Basic)

^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})$

Corrisponde: Visa, Mastercard, Amex, Discover.

In produzione: usare processore di pagamento.

15. Hex Color Code

^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$

Corrisponde: #FFF, #FF5733, #FF573380

16. Semantic Version (SemVer)

^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$

Corrisponde: 1.0.0, 2.1.3-beta.1, 1.0.0+build.123

17. UUID (Any Version)

^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

Corrisponde: f47ac10b-58cc-4372-a567-0e02b2c3d479

Elaborazione testo

18. Trim Whitespace (Leading + Trailing)

^\s+|\s+$

Con replace per trim: text.replace(/^\\s+|\\s+$/g, '')

19. Multiple Spaces to Single Space

\s{2,}

Sostituire con spazio singolo: text.replace(/\\s{2,}/g, ' ')

20. Markdown Bold Text

\*\*(.+?)\*\*

Cattura testo tra **.

Usare questi pattern nel codice

// JavaScript
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
emailRegex.test('user@example.com'); // true

// Python
import re
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
re.match(pattern, 'user@example.com')  # Match object

// Java
Pattern pattern = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$");
pattern.matcher("user@example.com").matches(); // true

Testa tutti i pattern con Regex Tester โ†’

Domande frequenti

Questi pattern sono compatibili con tutti i linguaggi?

Sรฌ, sintassi regex standard per JS, Python, Java, C#, Go, PHP, Ruby.

Usare regex per validare email in produzione?

Per controllo formato base va bene. Validazione vera solo con email di conferma.

Differenza tra quantificatori greedy e lazy?

Greedy (*, +, ?): massima corrispondenza. Lazy (*?, +?, ??): minima.

รˆ stato utile?

Stay Updated

Get weekly dev tips and new tool announcements.

No spam. Unsubscribe anytime.

Partner Picks

Sponsor this article

Place your product next to this developer topic with tracked clicks.

Ask about article sponsorship

This site uses cookies for analytics and to display ads. By continuing to browse, you agree. Privacy Policy