บทความนี้ไม่มีจาก |
นิพจน์ปรกติ (อังกฤษ: regular expression สามารถย่อได้เป็น regexp หรือ regex) ในวิทยาการคอมพิวเตอร์ คือ สตริงที่อธิบายถึงรูปแบบของสตริงตามโครงสร้างรูปแบบที่กำหนด นิพจน์ปรกตินั้นใช้อยู่แพร่หลายในโปรแกรมประเภท ในการค้นหาและปรับเปลี่ยนข้อความ ภาษาโปรแกรมหลายภาษายังรองรับการใช้นิพจน์ปรกติสำหรับการจัดการและปรับเปลี่ยนสตริง
ภาพรวม
นิพจน์ปรกติ ใช้อธิบายรูปแบบสตริง ซึ่งการอธิบายมักจะกระชับและรัดกุมโดยที่ไม่ต้องอธิบายเป็นรายชื่อทั้งหมด ยกตัวอย่างเช่นคำว่า ปกติ และ ปรกติ สามารถอธิบายได้ว่า "ป(ร?)กติ" ซึ่งส่วนใหญ่มีโครงสร้างการใช้ดังนี้:
การสร้างทางเลือก
- |
เครื่องหมายขีดตั้ง ใช้สำหรับสร้างทางเลือกที่จะใช้ค้นหานิพจน์ เช่น "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 เป็นต้น
- \
แบ็กสแลช ใช้ระบุ หรือสัญลักษณ์ที่ต้องการใช้ในนิพจน์ แต่ซ้ำกับสัญลักษณ์ที่กล่าวมาทั้งหมดด้านบน เช่น "[0-9]\.[0-9]\$" มีความหมายว่า 2.3$ 9.0$ 1.7$ เป็นต้น
โดยเครื่องหมายต่างๆ สามารถสร้างนิพจน์ปรกติที่ซ้ำซ้อนและมีประสิทธิภาพสูงได้ ซึ่งคล้ายกับการสร้างนิพจน์คณิตศาสตร์นั้นเอง
แหล่งข้อมูลอื่น
- นิพจน์ปรกติในดอตเน็ต
- ทดสอบการค้นหานิพจน์ปรกติด้วยจาวาสคริปต์
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
bthkhwamniimmikarxangxingcakaehlngthimaidkrunachwyprbprungbthkhwamni odyephimkarxangxingaehlngthimathinaechuxthux enuxkhwamthiimmiaehlngthimaxacthukkhdkhanhruxlbxxk eriynruwacanasaraemaebbnixxkidxyangiraelaemuxir niphcnprkti xngkvs regular expression samarthyxidepn regexp hrux regex inwithyakarkhxmphiwetxr khux stringthixthibaythungrupaebbkhxngstringtamokhrngsrangrupaebbthikahnd niphcnprktinnichxyuaephrhlayinopraekrmpraephth inkarkhnhaaelaprbepliynkhxkhwam phasaopraekrmhlayphasayngrxngrbkarichniphcnprktisahrbkarcdkaraelaprbepliynstringphaphrwmniphcnprkti ichxthibayrupaebbstring sungkarxthibaymkcakrachbaelardkumodythiimtxngxthibayepnraychuxthnghmd yktwxyangechnkhawa pkti aela prkti samarthxthibayidwa p r kti sungswnihymiokhrngsrangkarichdngni karsrangthangeluxk dd ekhruxnghmaykhidtng ichsahrbsrangthangeluxkthicaichkhnhaniphcn echn express expand mikhwamhmaywa express hrux expand karcdklum dd wngelb ichinkarkahndladbaelakhxbekhtkhxngniphcn echn ex pres pan sion mikhwamhmaywa expression hrux expansion karbxkcanwn dd prsni ichbngbxkwaminiphcnkxnhnanicanwn 0 hrux 1 niphcn miniphcnhruximmikid echn pr kti mikhwamhmaywa pkti hrux prkti dd ekhruxnghmaydxkcn ichbngbxkwaminiphcnkxnhnanicanwn 0 niphcnhruxmakkwa echn go gle mikhwamhmaywa ggle gogle google gooogle epntn dd ekhruxnghmaybwk ichbngbxkwaminiphcnkxnhnanicanwn 1 niphcnhruxmakkwa echn go gle mikhwamhmaywa gogle google gooogle epntn aetimethakb ggle n dd wngelbpikkaichbngbxkwatxngminiphcnkxnhnanicanwn n niphcn echn go 5 gle mikhwamhmaywa gooooogle ephiyngtwediyw m n dd wngelbpikkathimiculphakhkhangin ichbngbxkwatxngminiphcnkxnhnanicanwn m niphcnthung n niphcn echn go 2 4 gle mikhwamhmaywa google gooogle aela goooogle hakimrabutwelkh n cahmaythungtxngminiphcncanwntngaet m niphcnepntnip karrabutaaehnng dd ichekhiynepntwaerksudkhxngniphcnprkti ephuxbngbxkwaniphcnthitxngkarkhnhaxyutnbrrthdhruxtnstringethann samarthichkhukb dd dxllar ichekhiynepntwthaysudkhxngniphcnprkti ephuxbngbxkwaniphcnthitxngkarkhnhaxyuthaybrrthdhruxthaystringethann samarthichkhukb karrabuchwngxkkhra dd wngelbehliym ichekhiynaethnxkkhrahnungtwthixyuinkhxbekht sungrabuiwphayinwngelb echn bcdf an mikhwamhmaywa ban can dan aela fan dd ekhruxnghmayhmwk ichekhiynphayinwngelbehliymepntwaerk ephuxbngbxkwaepnxkkhrahnungtwthiimidxyuinkhxbekht echn bcdf an mikhwamhmaywa aan ean gan han ian epntn dd ytiphngkh ichekhiynphayinwngelbehliymrahwangxkkhrasxngtw ephuxbngbxkwaepnxkkhrahnungtwthimirhsaexskihruxyuniokhdxyuinchwngnn echn a z an mikhwamhmaywa aan ban can eruxyipcnthung zan ekhruxnghmayxun dd mhphphakh ichbngbxkwaxkkhraintaaehnngnnkhxngniphcncaepntwxksrxairkid echn an mikhwamhmaywa aan ban can 0an 1an an epntn dd aebksaelch ichrabu hruxsylksnthitxngkarichinniphcn aetsakbsylksnthiklawmathnghmddanbn echn 0 9 0 9 mikhwamhmaywa 2 3 9 0 1 7 epntn odyekhruxnghmaytang samarthsrangniphcnprktithisasxnaelamiprasiththiphaphsungid sungkhlaykbkarsrangniphcnkhnitsastrnnexngaehlngkhxmulxunniphcnprktiindxtent thdsxbkarkhnhaniphcnprktidwycawaskhriptbthkhwamkhxmphiwetxr xupkrntang hruxekhruxkhayniyngepnokhrng khunsamarthchwywikiphiediyidodykarephimetimkhxmuldkhk