นิพจน์ปรกติ - วิกิพีเดีย

# นิพจน์ปรกติ

### จากวิกิพีเดีย สารานุกรมเสรี

ในวิทยาการคอมพิวเตอร์ นิพจน์ปรกติ (regular expression สามารถย่อได้เป็น regexp หรือ regex) คือสตริงที่อธิบายถึงรูปแบบของสตริงตามโครงสร้างรูปแบบที่กำหนด นิพจน์ปรกตินั้นใช้อยู่แพร่หลายในโปรแกรมประเภท Text editor ในการค้นหาและปรับเปลี่ยนข้อความ ภาษาโปรแกรมหลายภาษายังรองรับการใช้นิพจน์ปรกติสำหรับการจัดการและปรับเปลี่ยนสตริง

## [แก้] ภาพรวม

นิพจน์ปรกติ ใช้อธิบายรูปแบบสตริง ซึ่งการอธิบายมักจะกระชับและรัดกุมโดยที่ไม่ต้องอธิบายเป็นรายชื่อทั้งหมด ยกตัวอย่างเช่นคำว่า ปกติ และ ปรกติ สามารถอธิบายได้ว่า "ป(ร?)กติ" ซึ่งส่วนใหญ่มีโครงสร้างการใช้ดังนี้:

### [แก้] การสร้างทางเลือก

  |

เครื่องหมายขีดตั้ง ใช้สำหรับสร้างทางเลือกที่จะใช้ค้นหานิพจน์ เช่น "express|expand" มีความหมายว่า express หรือ expand

### [แก้] การจัดกลุ่ม

  ( )

วงเล็บ ใช้ในการกำหนดลำดับและขอบเขตของนิพจน์ เช่น "ex(pres|pan)sion" มีความหมายว่า expression หรือ expansion

### [แก้] การบอกจำนวน

  ?

ปรัศนี ใช้บ่งบอกว่ามีนิพจน์ก่อนหน้านี้จำนวน 0 หรือ 1 นิพจน์ (มีนิพจน์หรือไม่มีก็ได้) เช่น "ปร?กติ" มีความหมายว่า ปกติ หรือ ปรกติ

  *

เครื่องหมายดอกจัน ใช้บ่งบอกว่ามีนิพจน์ก่อนหน้านี้จำนวน 0 นิพจน์หรือมากกว่า เช่น "go*gle" มีความหมายว่า ggle gogle google gooogle เป็นต้น

  +

เครื่องหมายบวก ใช้บ่งบอกว่ามีนิพจน์ก่อนหน้านี้จำนวน 1 นิพจน์หรือมากกว่า เช่น "go+gle" มีความหมายว่า gogle google gooogle เป็นต้น แต่ไม่เท่ากับ ggle

  {n}

วงเล็บปีกกาใช้บ่งบอกว่าต้องมีนิพจน์ก่อนหน้านี้จำนวน n นิพจน์ เช่น "go{5}gle" มีความหมายว่า gooooogle เพียงตัวเดียว

  {m,n}

วงเล็บปีกกาที่มีจุลภาคข้างใน ใช้บ่งบอกว่าต้องมีนิพจน์ก่อนหน้านี้จำนวน m นิพจน์ถึง n นิพจน์ เช่น "go{2,4}gle" มีความหมายว่า google gooogle และ goooogle หากไม่ระบุตัวเลข n จะหมายถึงต้องมีนิพจน์จำนวนตั้งแต่ m นิพจน์เป็นต้นไป

### [แก้] การระบุตำแหน่ง

  ^

เครื่องหมายหมวก ใช้เขียนเป็นตัวแรกสุดของนิพจน์ปรกติ เพื่อบ่งบอกว่านิพจน์ที่ต้องการค้นหาอยู่ต้นบรรทัดหรือต้นสตริงเท่านั้น สามารถใช้คู่กับ $

  $

เครื่องหมายสกุลเงิน ดอลลาร์ ใช้เขียนเป็นตัวท้ายสุดของนิพจน์ปรกติ เพื่อบ่งบอกว่านิพจน์ที่ต้องการค้นหาอยู่ท้ายบรรทัดหรือท้ายสตริงเท่านั้น สามารถใช้คู่กับ ^

### [แก้] การระบุช่วงอักขระ

  [ ]

วงเล็บเหลี่ยม ใช้เขียนแทนอักขระหนึ่งตัวที่อยู่ในขอบเขต ซึ่งระบุไว้ภายในวงเล็บ เช่น "[bcdf]an" มีความหมายว่า ban can dan และ fan

  ^

เครื่องหมายหมวก ใช้เขียนภายในวงเล็บเหลี่ยมเป็นตัวแรก เพื่อบ่งบอกว่าเป็นอักขระหนึ่งตัวที่ไม่ได้อยู่ในขอบเขต เช่น "[^bcdf]an" มีความหมายว่า aan ean gan han ian เป็นต้น

  -

ยัติภังค์ ใช้เขียนภายในวงเล็บเหลี่ยมระหว่างอักขระสองตัว เพื่อบ่งบอกว่าเป็นอักขระหนึ่งตัวที่มีรหัสแอสกีหรือยูนิโคดอยู่ในช่วงนั้น เช่น "[a-z]an" มีความหมายว่า aan ban can เรื่อยไปจนถึง zan

### [แก้] เครื่องหมายอื่นๆ

  .

มหัพภาค ใช้บ่งบอกว่าอักขระในตำแหน่งนั้นของนิพจน์จะเป็นตัวอักษรอะไรก็ได้ เช่น ".an" มีความหมายว่า aan ban can 0an 1an -an เป็นต้น

  \

แบ็กสแลช ใช้ระบุ escape character หรือสัญลักษณ์ที่ต้องการใช้ในนิพจน์ แต่ซ้ำกับสัญลักษณ์ที่กล่าวมาทั้งหมดด้านบน เช่น "[0-9]\.[0-9]\$" มีความหมายว่า 2.3$ 9.0$ 1.7$ เป็นต้น

โดยเครื่องหมายต่างๆ สามารถสร้างนิพจน์ปรกติที่ซ้ำซ้อนและมีประสิทธิภาพสูงได้ ซึ่งคล้ายกับการสร้างนิพจน์คณิตศาสตร์นั้นเอง

## [แก้] แหล่งข้อมูลอื่น

- นิพจน์ปรกติในดอตเน็ต
- ทดสอบการค้นหานิพจน์ปรกติด้วยจาวาสคริปต์

| นิพจน์ปรกติ เป็นบทความเกี่ยวกับ คอมพิวเตอร์ อุปกรณ์คอมพิวเตอร์ หรือ เครือข่าย ที่ยังไม่สมบูรณ์ ต้องการตรวจสอบ เพิ่มเนื้อหา หรือเพิ่มแหล่งอ้างอิง คุณสามารถช่วยเพิ่มเติมหรือแก้ไข เพื่อให้สมบูรณ์มากขึ้น ข้อมูลเกี่ยวกับ นิพจน์ปรกติ ในภาษาอื่น อาจสามารถหาอ่านได้จากเมนู ภาษาอื่น ด้านซ้ายมือ

ดึงข้อมูลจาก "http://th.wikipedia.org../../../%E0%B8%99/%E0%B8%B4/%E0%B8%9E/%E0%B8%99%E0%B8%B4%E0%B8%9E%E0%B8%88%E0%B8%99%E0%B9%8C%E0%B8%9B%E0%B8%A3%E0%B8%81%E0%B8%95%E0%B8%B4.html".

หมวดหมู่: ภาษารูปนัย | การเขียนโปรแกรม | บทความเกี่ยวกับ คอมพิวเตอร์ ที่ยังไม่สมบูรณ์

##### Views

- บทความ
- อภิปราย
- รุ่นปัจจุบัน

##### ค้นหา

##### ภาษาอื่น

- Česky
- Dansk
- Deutsch
- English
- Español
- Euskara
- Français
- עברית
- 한국어
- Íslenska
- Italiano
- Nederlands
- 日本語
- Polski
- Português
- Русский
- Suomi
- Українська
- 中文