// Exported array of common regex snippets
export const commonRegExp = [
id: "exact-string-match",
title: "Exact string match",
description: "Match the exact string using ^ and $ anchors.",
example: "const regexp = /^abc$/"
title: "Match empty string",
description: "Match an empty string with start and end anchors.",
example: "const regexp = /^$/"
id: "whitespace-sequences",
title: "Match whitespace sequences",
description: "Match one or more whitespace characters.",
example: "const regexp = /\\s+/g"
title: "Match line breaks",
description: "Match CR, LF, or CRLF across lines.",
pattern: "\\r|\\n|\\r\\n",
example: "const regexp = /\\r|\\n|\\r\\n/gm"
description: "A reasonably strict email validation with case-insensitive flag.",
pattern: "^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'\\+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$",
example: "const regexp = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'\\+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i"
id: "non-word-characters",
title: "Match non-word characters",
description: "Match any character that is not a word character or whitespace.",
example: "const regexp = /[^\\w\\s]/gi"
id: "alphanumeric-dashes",
title: "Match alphanumeric, dashes and hyphens",
description: "Useful for URL slugs.",
pattern: "^[a-zA-Z0-9-_]+$",
example: "const regexp = /^[a-zA-Z0-9-_]+$/"
id: "letters-and-whitespace",
title: "Match letters and whitespaces",
description: "Allow letters and space characters only.",
pattern: "^[A-Za-z\\s]+$",
example: "const regexp = /^[A-Za-z\\s]+$/"
id: "pattern-not-included",
title: "Pattern not included",
description: "Negative lookahead to ensure certain sub-patterns are not present.",
pattern: "^((?!(abc|bcd)).)*$",
example: "const regexp = /^((?!(abc|bcd)).)*$/g"
id: "text-inside-brackets",
title: "Text inside parentheses",
description: "Capture text inside parentheses. Swap delimiters for other bracket types.",
pattern: "\\(([^)]+)\\)",
example: "const regexp = /\\(([^)]+)\\)/g"
title: "Validate GUID/UUID (v4)",
description: "Validate a v4 UUID format.",
pattern: "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-4[0-9a-fA-F]{3}\\-(8|9|a|b)[0-9a-fA-F]{3}\\-[0-9a-fA-F]{12}$",
example: "const regexp = /^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-4[0-9a-fA-F]{3}\\-(8|9|a|b)[0-9a-fA-F]{3}\\-[0-9a-fA-F]{12}$/"
id: "validate-date-ddmmyyyy",
title: "Validate date format (DD/MM/YYYY)",
description: "Validate day, month and year with / or - separators.",
pattern: "^(0?[1-9]|[12][0-9]|3[01])[\\/\\-](0?[1-9]|1[012])[\\/\\-]\\d{4}$",
example: "const regexp = /^(0?[1-9]|[12][0-9]|3[01])[\\/\\-](0?[1-9]|1[012])[\\/\\-]\\d{4}$/"
title: "Chunk string into n-size chunks",
description: "Match between 1 and n characters; replace 2 with desired chunk size.",
example: "const regexp = /.{1,2}/g // where 2 is the chunk size"