Exact string match
- Use the
^and$anchors to match the start and end of the string, respectively. - Add the string you want to match in-between the two anchors.
代码实现
const regexp = /^abc$/;
// Where 'abc' is the exact string you want to match
Match empty string
- Use the
^and$anchors to match the start and end of the string, respectively. - Do not add any characters in-between to match an empty string.
使用样例
const regexp = /^$/;
Match whitespace sequences
- Use the
\smeta-sequence to match any whitespace character, including spaces, tabs, newlines, etc. - Use the
+quantifier to match one or more occurrences of the previous character. - Add the global flag (
g) to match all occurrences of the pattern in the string.
const regexp = /\s+/g;
Match line breaks
- Depending on the environment, line breaks can be represented in different ways.
- Use the
\rcharacter to match carriage returns, the\ncharacter to match newlines, and the\r\nsequence to match carriage returns followed by newlines. - Add the global (
g) and multiline (m) flags to match all occurrences of the pattern in the string.
const regexp = /\r|\n|\r\n/gm;
Match non-word characters
- Use negation (
^) to match any character that is not a word character (\w) or a whitespace character (\s). - Add the global flag (
g) to match all occurrences of the pattern in the string. - Add the ignore case flag (
i) to match both uppercase and lowercase characters.
const regexp = /[^\w\s]/gi;
Match alphanumeric, dashes and hyphens
- Use the
^and$anchors to match the start and end of the string, respectively. - Use the
a-zA-Z0-9-pattern to match any alphanumeric character, dashes and hyphens. - Use the
+quantifier to match one or more occurrences of the previous character. - Particularly useful when matching URL slugs.
const regexp = /^[a-zA-Z0-9-_]+$/;
Match letters and whitespaces
- Use the
^and$anchors to match the start and end of the string, respectively. - Use the
a-zA-Z\spattern to match any letter and whitespace character. - Use the
+quantifier to match one or more occurrences of the previous pattern.
const regexp = /^[A-Za-z\s]+$/;
Pattern not included
- Use the
^and$anchors to match the start and end of the string, respectively. - Use a negative lookahead (
?!) to match any character that is not followed by the pattern you want to exclude. - Add the global flag (
g) to match all occurrences of the pattern in the string. - To ensure more than one pattern is not included, use the
|character to separate them.
const regexp = /^((?!(abc|bcd)).)*$/;
// Where 'abc' and 'bcd' are pattern you want to exclude
Text inside brackets
- Use the
\(and\)characters to match the opening and closing brackets, respectively. - Use a capturing group between the two and exclude the closing parenthesis character.
- Use the
+quantifier to match one or more characters, as needed. - Add the global flag (
g) to match all occurrences of the pattern in the string. - Replace
\(and\)with\[and\]to match square brackets and with\{and\}to match curly brackets.
const regexp = /\(([^)]+)\)/g;
Validate GUID/UUID
- Use the
^and$anchors to match the start and end of the string, respectively. - Validate each segment of the GUID/UUID separately using numeric character ranges and quantifiers.
const regexp = /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/;
Validate date format (DD/MM/YYYY)
- Use the
^and$anchors to match the start and end of the string, respectively. - Validate each segment of the date separately using numeric character ranges and quantifiers.
- Alter the order of the segments and separators to match different formats.
const regexp = /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/;
Chunk string into n-size chunks
- Use the
.{1,n}quantifier to match any character between1andntimes. - Add the global flag (
g) to match all occurrences of the pattern in the string.
const regexp = /.{1,2}/g;
// Where '2' is the number of characters per chunk
翻译自:https://www.30secondsofcode.org/js/s/common-regexp-cheatsheet