Expressions

Regular expressions are widely used in software for validation, parsing, and formatting. Here are some useful regex patterns commonly found in software development:

Email addresses (RFC 5322)

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

Phone number (international)

/^\+\d{1,3}[\s.-]?\d{1,14}([\s.-]?\d{1,13})?$/

Valid web URLs (http(s))

/^(https?:\/\/)?([\w-]+(\.[\w-]+)+)(:\d{1,5})?(\/[\w.-]*)*(\?[;&\w%=-]*)?(#[\w-]*)?$/

UUIDs (version 4)

/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i

IPv4 adresses

/^(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)$/

IPv6 addresses

/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9]))$/

Ham radio callsigns (standard)

/^[A-Za-z]{1,2}\d{1,4}[A-Za-z]{1,3}$/i

Ham radio callsigns (pref/suff)

/^(?:[A-Za-z0-9]{1,4}\/)?[A-Za-z]{1,2}\d{1,4}[A-Za-z]{1,3}(?:\/[A-Za-z0-9]{1,4})?$/i

MAC address (networking)

/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/

Hex color code (eg. in CSS)

/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/

Date (YYYY-MM-DD)

/^(19|20)\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/

Time (HH:MM:SS, 24h)

/^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$/

HTML tags (basic)

/<\/?[a-z][a-z0-9]*[^<>]*>/i

Base64 Encoding

/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/

Credit cards (basic)

/^\d{4}-?\d{4}-?\d{4}-?\d{4}$/

These regex patterns cover common use cases in software development, from validation to parsing data.