📜  ES6-RegExp

📅  最后修改于: 2020-10-25 10:41:02             🧑  作者: Mango


正则表达式是一个描述字符模式的对象。正则表达式通常缩写为“ regex ”或“ regexp ”。

JavaScript RegExp类表示正则表达式,并且String和RegExp都定义了使用正则表达式对文本执行强大的模式匹配和搜索替换功能的方法。

正则表达式可以定义为-

var pattern = new RegExp(pattern, attributes); 
OR 
var pattern = /pattern/attributes;

该属性可以具有以下值的任意组合。

Sr.No Attribute & Description
1

G

Global Match

2

I

Ignore case

3

M

Multiline; treat the beginning and end characters (^ and $) as working over multiple lines (i.e., match the beginning or the end of each line (delimited by \n or \r), not only the very beginning or end of the whole input string)

4

U

Unicode; treat the pattern as a sequence of unicode code points

5

Y

Sticky; matches only from the index indicated by the lastIndex property of this regular expression in the target string (and does not attempt to match from any later indexes)

构造正则表达式

括号

在正则表达式的上下文中使用方括号([])具有特殊含义。它们用于查找一系列字符。

Sr.No Expression & Description
1

[…]

Any one character between the brackets

2

[^…]

Any one character not between the brackets

3

[0-9]

It matches any decimal digit from 0 through 9

4

[a-z]

It matches any character from lowercase a through lowercase z

5

[A-Z]

It matches any character from uppercase A through uppercase Z

6

[a-Z]

It matches any character from lowercase a through uppercase Z

上面显示的范围是常规范围;您还可以使用范围[0-3]匹配范围从0到3的任何十进制数字,或范围[bv]匹配范围从b到v的任何小写字符。

量词

方括号字符序列和单个字符的频率或位置可以用特殊字符表示。每个特殊字符都有特定的含义。 +,* 、?$标志均遵循字符序列。

Sr.No Expression & Description
1

p+

It matches any string containing at least one p.

2

p*

It matches any string containing zero or more p’s

3

p?

It matches any string containing one or more p’s

4

p{N}

It matches any string containing a sequence of N p’s

5

p{2,3}

It matches any string containing a sequence of two or three p’s

6

p{2, }

It matches any string containing a sequence of at least two p’s

7

p$

It matches any string with p at the end of it

8

^p

It matches any string with p at the beginning of it

9

[^a-zA-Z]

It matches any string not containing any of the characters ranging from a through z and A through Z

10

p.p

It matches any string containing p, followed by any character, in turn followed by another p

11

^.{2}$

It matches any string containing exactly two characters

12

(.*)

It matches any string enclosed within and

13

p(hp)*

It matches any string containing a p followed by zero or more instances of the sequence hp

字面量字符

Sr.No Character & Description
1

Alphanumeric

Itself

2

\0

The NULL character (\u0000)

3

\t

Tab (\u0009)

4

\n

Newline (\u000A)

5

\v

Vertical tab (\u000B)

6

\f

Form feed (\u000C)

7

\r

Carriage return (\u000D)

8

\xnn

The Latin character specified by the hexadecimal number nn; for example, \x0A is the same as \n

9

\uxxxx

The Unicode character specified by the hexadecimal number xxxx; for example, \u0009 is the same as \t

10

\cX

The control character ^X; for example, \cJ is equivalent to the newline character \n

元字符

元字符只是字母字符,后跟反斜杠,以使组合具有特殊含义。

例如,您可以使用‘\ d’元字符// [[\ d] +)000 /搜索大量资金。在这里, \ d将搜索任何数字字符的字符串。

下表列出了可以在PERL样式正则表达式中使用的一组元字符。

Sr.No Character & Description
1

.

A single character

2

\s

A whitespace character (space, tab, newline)

3

\S

Non-whitespace character

4

\d

A digit (0-9)

5

\D

A non-digit

6

\w

A word character (a-z, A-Z, 0-9, _)

7

\W

A non-word character

8

[\b]

A literal backspace (special case)

9

[aeiou]

Matches a single character in the given set

10

[^aeiou]

Matches a single character outside the given set

11

(foo|bar|baz)

Matches any of the alternatives specified

RegExp属性

Sr.No Properties & Description
1 RegExp.prototype.flags

A string that contains the flags of the RegExp object

2 RegExp.prototype.global

Whether to test the regular expression against all possible matches in a string, or only against the first

3 RegExp.prototype.ignoreCase

Whether to ignore case while attempting a match in a string

4 RegExp.prototype.lastIndex

Whether read/write property of RegExp objects.

5 RegExp.prototype.multiline

Whether or not to search in strings across multiple lines

6 RegExp.prototype.source

The text of the pattern

RegExp方法

Sr.No Method & Description
1 RegExp.prototype.exec()

Executes a search for a match in its string parameter

2 RegExp.prototype.test()

Tests for a match in its string parameter

3 RegExp.prototype.match()

Performs a match to the given string and returns the match result

4 RegExp.prototype.replace()

Replaces matches in the given string with a new substring

5 RegExp.prototype.search()

Searches the match in the given string and returns the index the pattern found in the string

6 RegExp.prototype.split()

Splits the given string into an array by separating the string into substring

7 RegExp.prototype.toString()

Returns a string representing the specified object. Overrides theObject.prototype.toString() method