นิพจน์ทั่วไปและอ็อบเจ็กต์ RegExp

นิพจน์ทั่วไปคือวัตถุที่อธิบายถึงรูปแบบของอักขระ

JavaScript RegExp คลาสแสดงถึงนิพจน์ทั่วไปและทั้ง String และ RegExp กำหนดวิธีการที่ใช้นิพจน์ทั่วไปเพื่อดำเนินการฟังก์ชันการจับคู่รูปแบบและการค้นหาและแทนที่ที่มีประสิทธิภาพบนข้อความ

ไวยากรณ์

นิพจน์ทั่วไปสามารถกำหนดได้ด้วย RegExp () ผู้สร้างดังต่อไปนี้ -

var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;

นี่คือคำอธิบายของพารามิเตอร์ -

  • pattern - สตริงที่ระบุรูปแบบของนิพจน์ทั่วไปหรือนิพจน์ทั่วไปอื่น

  • attributes - สตริงที่เป็นทางเลือกที่มีแอตทริบิวต์ "g", "i" และ "m" ซึ่งระบุการจับคู่แบบโกลบอลไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่และหลายบรรทัดตามลำดับ

วงเล็บ

วงเล็บ ([]) มีความหมายพิเศษเมื่อใช้ในบริบทของนิพจน์ทั่วไป ใช้เพื่อค้นหาช่วงของอักขระ

ซีเนียร์ นิพจน์และคำอธิบาย
1

[...]

อักขระใดตัวหนึ่งระหว่างวงเล็บ

2

[^...]

อักขระใดตัวหนึ่งที่ไม่อยู่ระหว่างวงเล็บ

3

[0-9]

ตรงกับตัวเลขทศนิยมใด ๆ ตั้งแต่ 0 ถึง 9

4

[a-z]

จับคู่อักขระใดก็ได้จากตัวพิมพ์เล็ก a ผ่านตัวพิมพ์เล็ก z.

5

[A-Z]

ตรงกับอักขระใด ๆ จากตัวพิมพ์ใหญ่ A ผ่านตัวพิมพ์ใหญ่ Z.

6

[a-Z]

จับคู่อักขระใดก็ได้จากตัวพิมพ์เล็ก a ผ่านตัวพิมพ์ใหญ่ Z.

ช่วงที่แสดงด้านบนเป็นช่วงทั่วไป คุณยังสามารถใช้ช่วง [0-3] เพื่อจับคู่เลขฐานสิบตั้งแต่ 0 ถึง 3 หรือช่วง [bv] เพื่อจับคู่อักขระตัวพิมพ์เล็กที่มีตั้งแต่b ผ่าน v.

Quantifiers

ความถี่หรือตำแหน่งของลำดับอักขระในวงเล็บและอักขระเดี่ยวสามารถแสดงได้ด้วยอักขระพิเศษ อักขระพิเศษแต่ละตัวมีความหมายแฝงเฉพาะ แฟล็ก +, *,? และ $ ทั้งหมดเป็นไปตามลำดับอักขระ

ซีเนียร์ นิพจน์และคำอธิบาย
1

p+

ตรงกับสตริงใด ๆ ที่มี p อย่างน้อยหนึ่งตัว

2

p*

ตรงกับสตริงใด ๆ ที่มีค่า p เป็นศูนย์ขึ้นไป

3

p?

ตรงกับสตริงใด ๆ ที่มีมากที่สุดหนึ่ง p

4

p{N}

ตรงกับสตริงที่มีลำดับของ N พี

5

p{2,3}

ตรงกับสตริงใด ๆ ที่มีลำดับของสองหรือสาม p

6

p{2, }

ตรงกับสตริงใด ๆ ที่มีลำดับอย่างน้อยสอง p

7

p$

มันจับคู่สตริงใด ๆ กับ p ที่ท้ายของมัน

8

^p

มันจับคู่สตริงใด ๆ กับ p ที่จุดเริ่มต้นของมัน

ตัวอย่าง

ตัวอย่างต่อไปนี้อธิบายเพิ่มเติมเกี่ยวกับอักขระที่ตรงกัน

ซีเนียร์ นิพจน์และคำอธิบาย
1

[^a-zA-Z]

ตรงกับสตริงที่ไม่มีอักขระใด ๆ ตั้งแต่ a ผ่าน z และ A ผ่าน Z.

2

p.p

ตรงกับสตริงที่มี p, ตามด้วยอักขระใด ๆ แล้วตามด้วยตัวอื่น p.

3

^.{2}$

ตรงกับสตริงที่มีอักขระสองตัว

4

<b>(.*)</b>

ตรงกับสตริงใด ๆ ที่อยู่ภายใน <b> และ </b>

5

p(hp)*

ตรงกับสตริงใด ๆ ที่มี p ตามด้วยศูนย์หรือมากกว่าของลำดับ hp.

อักขระตามตัวอักษร

ซีเนียร์ ตัวละครและคำอธิบาย
1

Alphanumeric

ตัวเอง

2

\0

อักขระ NUL (\ u0000)

3

\t

แท็บ (\ u0009

4

\n

ขึ้นบรรทัดใหม่ (\ u000A)

5

\v

แท็บแนวตั้ง (\ u000B)

6

\f

ฟีดแบบฟอร์ม (\ u000C)

7

\r

การคืนรถ (\ u000D)

8

\xnn

อักขระละตินที่ระบุโดยเลขฐานสิบหก nn; ตัวอย่างเช่น \ x0A เหมือนกับ \ n

9

\uxxxx

อักขระ Unicode ที่ระบุโดยเลขฐานสิบหก xxxx; ตัวอย่างเช่น \ u0009 เหมือนกับ \ t

10

\cX

อักขระควบคุม ^ X; ตัวอย่างเช่น \ cJ เทียบเท่ากับอักขระขึ้นบรรทัดใหม่ \ n

Metacharacters

อักขระเมตาเป็นเพียงอักขระตามตัวอักษรที่นำหน้าด้วยแบ็กสแลชซึ่งทำหน้าที่ให้ความหมายพิเศษรวมกัน

ตัวอย่างเช่นคุณสามารถค้นหาเงินจำนวนมากโดยใช้อักขระ '\ d': /([\d]+)000/, ที่นี่ \d จะค้นหาสตริงของอักขระตัวเลข

ตารางต่อไปนี้แสดงชุดของอักขระเมตาซึ่งสามารถใช้ได้ใน PERL Style Regular Expressions

ซีเนียร์ ตัวละครและคำอธิบาย
1

.

อักขระเดี่ยว

2

\s

อักขระเว้นวรรค (ช่องว่างแท็บขึ้นบรรทัดใหม่)

3

\S

อักขระที่ไม่ใช่ช่องว่าง

4

\d

ตัวเลข (0-9)

5

\D

ไม่ใช่ตัวเลข

6

\w

อักขระคำ (az, AZ, 0-9, _)

7

\W

อักขระที่ไม่ใช่คำ

8

[\b]

backspace ตามตัวอักษร (กรณีพิเศษ)

9

[aeiou]

จับคู่อักขระเดี่ยวในชุดที่กำหนด

10

[^aeiou]

จับคู่อักขระเดี่ยวนอกชุดที่กำหนด

11

(foo|bar|baz)

ตรงกับทางเลือกใด ๆ ที่ระบุ

ตัวปรับเปลี่ยน

มีตัวปรับแต่งหลายตัวที่สามารถทำให้วิธีการทำงานของคุณง่ายขึ้น regexps, เช่นความไวของตัวพิมพ์เล็กค้นหาในหลายบรรทัด ฯลฯ

ซีเนียร์ ตัวปรับแต่งและคำอธิบาย
1

i

ทำการจับคู่แบบไม่คำนึงถึงขนาดตัวพิมพ์

2

m

ระบุว่าถ้าสตริงมีอักขระขึ้นบรรทัดใหม่หรืออักขระส่งคืนค่าขนส่งตอนนี้ตัวดำเนินการ ^ และ $ จะจับคู่กับขอบเขตขึ้นบรรทัดใหม่แทนที่จะเป็นขอบเขตสตริง

3

g

ทำการแข่งขันทั่วโลกนั่นคือค้นหาการแข่งขันทั้งหมดแทนที่จะหยุดหลังจากการแข่งขันครั้งแรก

คุณสมบัติ RegExp

นี่คือรายการคุณสมบัติที่เกี่ยวข้องกับ RegExp และคำอธิบาย

ซีเนียร์ คุณสมบัติและคำอธิบาย
1 constructor

Specifies the function that creates an object's prototype.

2 global

Specifies if the "g" modifier is set.

3 ignoreCase

Specifies if the "i" modifier is set.

4 lastIndex

The index at which to start the next match.

5 multiline

Specifies if the "m" modifier is set.

6 source

The text of the pattern.

In the following sections, we will have a few examples to demonstrate the usage of RegExp properties.

RegExp Methods

Here is a list of the methods associated with RegExp along with their description.

Sr.No. Method & Description
1 exec()

Executes a search for a match in its string parameter.

2 test()

Tests for a match in its string parameter.

3 toSource()

Returns an object literal representing the specified object; you can use this value to create a new object.

4 toString()

Returns a string representing the specified object.

In the following sections, we will have a few examples to demonstrate the usage of RegExp methods.