Practical email address
validation · javascript
Matches a pragmatic email shape for UI validation without pretending to implement the full RFC grammar.
/^[^\s@]+@[^\s@]+\.[^\s@]+$/iBuild, test, debug and reuse regular expressions with live matches, unit tests, a curated library, compatibility analysis and safe local execution.
INFO server ready WARN retrying request ERROR upstream timeout DEBUG hidden diagnostics
Search curated recipes with descriptions, examples and ready-to-run tests, then load the complete recipe into your workspace.
validation · javascript
Matches a pragmatic email shape for UI validation without pretending to implement the full RFC grammar.
/^[^\s@]+@[^\s@]+\.[^\s@]+$/ivalidation · javascript
Matches canonical UUID version 4 strings with the correct version and variant nibble.
/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/idates · javascript
Matches YYYY-MM-DD text shape. Calendar validity such as leap years still belongs to date parsing.
/\b\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])\b/gvalidation · javascript
Matches three, four, six or eight digit CSS hexadecimal color values.
/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/iextraction · javascript
Extracts major, minor and patch numbers with optional prerelease and build metadata.
/\b(?<major>0|[1-9]\d*)\.(?<minor>0|[1-9]\d*)\.(?<patch>0|[1-9]\d*)(?:-(?<pre>[0-9A-Za-z.-]+))?(?:\+(?<build>[0-9A-Za-z.-]+))?\b/gweb · javascript
Finds HTTP and HTTPS URLs in prose. Use URL parsing for authoritative validation.
/https?:\/\/[^\s<>"]+/gilogs · javascript
Extracts simple key=value pairs and exposes key and value as named captures.
/(?<key>[A-Za-z_][\w.-]*)=(?<value>"[^"]*"|[^\s]+)/glogs · javascript
Finds common application log levels as standalone words.
/\b(?:TRACE|DEBUG|INFO|WARN|ERROR|FATAL)\b/givalidation · javascript
Matches lowercase URL slugs made of alphanumeric segments separated by single hyphens.
/^[a-z0-9]+(?:-[a-z0-9]+)*$/validation · javascript
Matches IPv4 octets from 0 to 255 without accepting over-range values.
/^(?:(?:25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|1?\d?\d)$/extraction · javascript
Finds strings shaped like a compact three-part JWT/JWS. It does not validate signatures or claims.
/\b[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*\b/gtext · javascript
Extracts double-quoted strings while allowing escaped characters inside them.
/"(?:\\.|[^"\\])*"/gSearch common anchors, character classes, groups, lookarounds, quantifiers and operators.
80 shown · 80 total tokens
\nNewline character
\rCarriage return character
\tTab character
\0Null character
\fForm feed character
\vVertical tab character
.Any character except line terminators unless dotAll is enabled
a|bAlternation — match either expression
\dAny digit character
\DAny non-digit character
\wAny word character
\WAny non-word character
\sAny whitespace character
\SAny non-whitespace character
[abc]One character from the set
[^abc]One character not present in the set
[a-z]One character inside a range
[a-zA-Z]One character from multiple ranges
[[:alnum:]]POSIX letters and digits class
[[:alpha:]]POSIX letters class
[[:digit:]]POSIX decimal digits class
[[:space:]]POSIX whitespace class
[[:word:]]POSIX word-character class
^Start of input, or start of line in multiline mode
$End of input, or end of line in multiline mode
\AAbsolute start of string
\ZEnd of string, or before its final line terminator
\zAbsolute end of string
\bWord boundary
\BNon-word boundary
\GStart of the current match attempt
a?Zero or one occurrence
a*Zero or more occurrences
a+One or more occurrences
a{3}Exactly three occurrences
a{3,}Three or more occurrences
a{3,6}Between three and six occurrences
a*?Lazy quantifier — consume as little as possible
a*+Possessive quantifier — do not backtrack
(...) Capturing group
(?:...)Non-capturing group
(?<name>...)Named capturing group
(?P<name>...)Python-style named capturing group
(?>...)Atomic non-capturing group
(?#...)Inline comment group
(?=...)Positive lookahead assertion
(?!...)Negative lookahead assertion
(?<=...)Positive lookbehind assertion
(?<!...)Negative lookbehind assertion
\1Match text previously captured by group 1
\k<name>Match text captured by a named group
\k{name}PCRE2 named backreference
\g{-1}PCRE2 relative numeric backreference
gGlobal matching
mMultiline anchors
iCase-insensitive matching
sDot matches line terminators
uUnicode-aware matching
ySticky matching from the current lastIndex
xIgnore pattern whitespace and allow comments
UInvert default greediness
$&Insert the complete match
$1Insert capture group 1
$<name>Insert a named capture group
$$Insert a literal dollar sign
$`Insert content before the match
$'Insert content after the match
${1}PCRE2 replacement capture group
\p{Letter}Match a Unicode property or script category
\P{Letter}Negated Unicode property or script category
\XExtended Unicode grapheme sequence
\RUnicode newline sequence
\x20Character by hexadecimal value
\u{1F600}Unicode code point escape
\Q...\ETreat enclosed text as literals
\KReset the reported start of the current match
(*ACCEPT)PCRE2 control verb — immediately accept the current match
(*FAIL)PCRE2 control verb — force the current match path to fail
(*SKIP)PCRE2 control verb — move the next match attempt forward
(*UTF)Enable UTF mode in PCRE2
JavaScript regular expressions run in a dedicated Web Worker with a hard timeout so a pathological pattern cannot freeze the Devary interface.
Choose a target regex flavor to inspect portability issues and generate code without pretending that one engine behaves like every runtime.
Patterns, samples, tests and imported tool handoffs remain in browser memory and are not sent to a Devary backend.