| Character | Description |
|---|---|
| \ | Marks the next character as a special character, a literal character, a backreference, or an octal escape. For example, \"n\" matches the character \"n\". \"\n\" matches a newline. The sequence \"\\\" matches \"\\" and \"\(\" matches \"(\". |
| ^ | Matches the beginning of the input string. If the Multiline property of the RegExp object is set, ^ also matches the position after \"\n\" or \"\r\". |
| $ | Matches the end of the input string. If the Multiline property of the RegExp object is set, $ also matches the position before \"\n\" or \"\r\". |
| * | Matches the preceding subexpression zero or more times. For example, zo* matches \"z\" and \"zoo\". * is equivalent to {0,}. |
| + | Matches the preceding subexpression one or more times. For example, \"zo+\" matches \"zo\" and \"zoo\", but not \"z\". + is equivalent to {1,}. |
| ? | Matches the preceding subexpression zero or one time. For example, \"do(es)?\" matches \"do\" in \"do\" or \"does\". ? is equivalent to {0,1}. |
| {n} | n is a non-negative integer. Matches exactly n times. For example, \"o{2}\" does not match the \"o\" in \"Bob\", but matches the two o's in \"food\". |
| {n,} | n is a non-negative integer. Matches at least n times. For example, \"o{2,}\" does not match the \"o\" in \"Bob\", but matches all o's in \"foooood\". \"o{1,}\" is equivalent to \"o+\". \"o{0,}\" is equivalent to \"o*\". |
| {n,m} | m and n are non-negative integers, where n <= m. Matches at least n times and at most m times. For example, \"o{1,3}\" matches the first three o's in \"fooooood\". \"o{0,1}\" is equivalent to \"o?\". Note that there can be no spaces between the comma and the numbers. |
| ? | When this character follows any other quantifier (*, +, ?, {n}, {n,}, {n,m}), the matching mode is non-greedy. Non-greedy mode matches as little of the searched string as possible, while the default greedy mode matches as much as possible. For example, for the string \"oooo\", \"o+?\" will match a single \"o\", while \"o+\" will match all \"o\". |
| . | Matches any single character except \"\n\". To match any character including \"\n\", use a pattern like \"[.\n]\". |
| (pattern) | Matches pattern and captures the match. The captured match can be obtained from the generated Matches collection, using the SubMatches collection in VBScript, or the $0...$9 properties in JScript. To match parentheses characters, use \"\(\" or \"\)\". |
| (?:pattern) | Matches pattern but does not capture the match, meaning it is a non-capturing match and is not stored for later use. This is useful when using the or character \"(|)\" to combine parts of a pattern. For example, \"industr(?:y|ies)\" is a simpler expression than \"industry|industries\". |
| (?=pattern) | Positive lookahead: matches at the beginning of a string that matches pattern. This is a non-capturing match, meaning it does not need to be captured for later use. For example, \"Windows(?=95|98|NT|2000)\" matches \"Windows\" in \"Windows2000\", but not in \"Windows3.1\". Lookahead does not consume characters, meaning after a match occurs, the search for the next match starts immediately after the last match, not after the characters involved in the lookahead. |
| (?!pattern) | Negative lookahead: matches at the beginning of a string that does not match pattern. This is a non-capturing match, meaning it does not need to be captured for later use. For example, \"Windows(?!95|98|NT|2000)\" matches \"Windows\" in \"Windows3.1\", but not in \"Windows2000\". Lookahead does not consume characters, meaning after a match occurs, the search for the next match starts immediately after the last match, not after the characters involved in the lookahead. |
| x|y | Matches x or y. For example, \"z|food\" matches \"z\" or \"food\". \"(z|f)ood\" matches \"zood\" or \"food\". |
| [xyz] | Character set. Matches any one of the enclosed characters. For example, \"[abc]\" matches the \"a\" in \"plain\". |
| [^xyz] | Negated character set. Matches any character not enclosed. For example, \"[^abc]\" matches the \"p\" in \"plain\". |
| [a-z] | Character range. Matches any character in the specified range. For example, \"[a-z]\" matches any lowercase letter in the range a to z. |
| [^a-z] | Negated character range. Matches any character not in the specified range. For example, \"[^a-z]\" matches any character not in the range a to z. |
| \b | Matches a word boundary, i.e., the position between a word and a space. For example, \"er\b\" matches the \"er\" in \"never\", but not in \"verb\". |
| \B | Matches a non-word boundary. \"er\B\" matches the \"er\" in \"verb\", but not in \"never\". |
| \cx | Matches a control character specified by x. For example, \cM matches a Control-M or carriage return. The value of x must be one of A-Z or a-z. Otherwise, c is treated as a literal \"c\" character. |
| \d | Matches a digit character. Equivalent to [0-9]. |
| \D | Matches a non-digit character. Equivalent to [^0-9]. |
| \f | Matches a form-feed character. Equivalent to \x0c and \cL. |
| \n | Matches a newline character. Equivalent to \x0a and \cJ. |
| \r | Matches a carriage return character. Equivalent to \x0d and \cM. |
| \s | Matches any whitespace character, including spaces, tabs, form feeds, etc. Equivalent to [\f\n\r\t\v]. |
| \S | Matches any non-whitespace character. Equivalent to [^\f\n\r\t\v]. |
| \t | Matches a tab character. Equivalent to \x09 and \cI. |
| \v | Matches a vertical tab character. Equivalent to \x0b and \cK. |
| \w | Matches any word character including underscore. Equivalent to \"[A-Za-z0-9_]\". |
| \W | Matches any non-word character. Equivalent to \"[^A-Za-z0-9_]\". |
| \xn | Matches n, where n is a hexadecimal escape value. Hexadecimal escape values must be exactly two digits long. For example, \"\x41\" matches \"A\". \"\x041\" is equivalent to \"\x04&1\". ASCII encoding can be used in regular expressions. |
| \num | Matches num, where num is a positive integer. A backreference to the captured match. For example, \"(.)\1\" matches two consecutive identical characters. |
| \n | Identifies an octal escape value or a backreference. If \n is preceded by at least n captured subexpressions, then n is a backreference. Otherwise, if n is an octal digit (0-7), then n is an octal escape value. |
| \nm | Identifies an octal escape value or a backreference. If \nm is preceded by at least nm captured subexpressions, then nm is a backreference. If \nm is preceded by at least n captures, then n is a backreference followed by literal m. If none of the previous conditions are met, and n and m are both octal digits (0-7), then \nm matches the octal escape value nm. |
| \nml | If n is an octal digit (0-3), and m and l are both octal digits (0-7), then match the octal escape value nml. |
| \un | Matches n, where n is a Unicode character expressed in four hexadecimal digits. For example, \u00A9 matches the copyright symbol (©). |
| Username | /^[a-z0-9_-]{3,16}$/ |
|---|---|
| Password | /^[a-z0-9_-]{6,18}$/ |
| Password2 | (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$ (Consists of digits/uppercase letters/lowercase letters/punctuation, all four must be present, at least 8 characters) |
| Hexadecimal value | /^#?([a-f0-9]{6}|[a-f0-9]{3})$/ |
| /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ or\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* |
|
| URL | /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ or [a-zA-z]+://[^\s]* |
| IP address | /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ or ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) |
| HTML tag | /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/or<(.*)(.*)>.*<\/\1>|<(.*) \/> |
| Delete code\comments | (?<!http:|\S)//.*$ |
| Match double-byte characters (including Chinese characters) | [^\x00-\xff] |
| Chinese characters | [\u4e00-\u9fa5] |
| Range of Chinese characters in Unicode encoding | /^[\u2E80-\u9FFF]+$/ |
| Chinese and full-width punctuation (characters) | [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee] |
| Date (year-month-day) | (\d{4}|\d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1])) |
| Date (month/day/year) | ((0?[1-9]{1})|(1[1|2]))/(0?[1-9]|([12][1-9])|(3[0|1]))/(\d{4}|\d{2}) |
| Time (hour:minute, 24-hour format) | ((1|0?)[0-9]|2[0-3]):([0-5][0-9]) |
| Mainland China landline phone number | (\d{4}-|\d{3}-)?(\d{8}|\d{7}) |
| Mainland China mobile phone number | 1\d{10} |
| Mainland China postal code | [1-9]\d{5} |
| Mainland China ID card number (15 or 18 digits) | \d{15}(\d\d[0-9xX])? |
| Non-negative integer (positive integer or zero) | \d+ |
| Positive integer | [0-9]*[1-9][0-9]* |
| Negative integer | -[0-9]*[1-9][0-9]* |
| Integer | -?\d+ |
| Decimal | (-?\d+)(\.\d+)? |
| Blank lines | \n\s*\r or \n\n(editplus) or ^[\s\S ]*\n |
| QQ number | [1-9]\d{4,} |
| Words that do not contain abc | \b((?!abc)\w)+\b |
| Match leading and trailing whitespace characters | ^\s*|\s*$ |
| Commonly used in editors |
The following are some replacements for special Chinese (editplus)
^[0-9].*\n
^[^第].*\n
^[习题].*\n
^[\s\S ]*\n
^[0-9]*\.
^[\s\S ]*\n
<p[^<>*]>
href="javascript:if\(confirm\('(.*?)'\)\)window\.location='(.*?)'"
<span
style=".[^"]*rgb\(255,255,255\)">.[^<>]*</span>
<DIV class=xs0>[\s\S]*?</DIV> |
Regular expression syntax provides you with a quick reference table for common regular expressions, regular expression syntax query, common regular expression syntax, basic regular expression syntax, subexpression syntax, regular expression modifiers, greedy mode, non-greedy mode, achieving control over strings through simple and fast methods.