ES6 |正则表达式
RegEx是正则表达式的缩写形式,它是定义模式的字符序列。 RegEx 中的字符可以是字母、数字或特殊字符。通常,RegEx 用于在字符串中查找模式以替换、删除或修改它们。在 ES6 中,RegEx 可以由 2 种不同的符号定义。
- 字面量表示法:模式用斜线括起来。它在编译时执行。因此,常量模式可以用字面量表示法给出。
var regex = /pattern/
- 构造函数:模式在单引号内给出。它在运行时执行。因此,可以在构造函数中给出灵活的模式。
var regex = new RegExp( pattern, optional arguments)
下面列出了提及模式的不同方式:
方括号的使用:它用于提及模式中特定范围的字符。
Patterns with brackets | Description |
---|---|
[pattern] | Any one character from the pattern. |
[^pattern] | Any one character not from the pattern. |
[0-9] | Any one decimal number between 0-9. |
[a-z] | Any one character from the lower case alphabets. |
[A-Z] | Any one character from the upper case alphabets. |
量词的使用:用于指定字符在模式中出现的频率和位置。
Quantifiers | Description |
---|---|
pattern+ | Matches strings with atleast one or more pattern. |
pattern* | Matches strings with zero or more patterns. |
pattern{n} | Matches strings with ‘n’ number of patterns. |
pattern{n1, n2} | Matches strings with patterns in range from n1 to n2 (Both inclusive). |
pattern{n, } | Matches strings with minimum ‘n’ number of patterns. |
pattern$ | Matches strings with pattern as the end sequence. |
^pattern | Matches strings with pattern as the beginning sequence. |
字面量字符的使用:用于指定转义字符。
Literal Characters | Description |
---|---|
\0 | It denotes a NULL character. |
\t | It denotes a tab space. |
\n | It denotes a newline. |
\r | It denotes a carriage return. |
元字符的使用:仅用于指定字符的类型。
Meta Characters | Description |
---|---|
\s | It denotes a blank or whitespace. |
\S | It denotes a non-blank or no space character. |
\d | It denotes a decimal digit character. |
\D | It denotes a non-digit character. |
\w | It denotes a word character (Any character sequence). |
\W | It denotes a non-word character. |
例子:
输出:
注意: RexExp 本身没有方法和属性。但是它从原型中继承了一些功能和属性。