fixmint
TH

Regex ในการค้นหาและแทนที่: คู่มือฉบับเข้าใจง่ายพร้อม 7 สูตรตัวอย่าง

โดย · · อัปเดตเมื่อ 8 พฤศจิกายน 2026 · อ่าน 4 นาที

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

ค้นหาและแทนที่ข้อความแทนที่คำทุกจุดในข้อความใช้ฟรี

สัญลักษณ์ที่ต้องใช้

สัญลักษณ์จับคู่กับ
.อักขระใดก็ได้หนึ่งตัว ยกเว้นการขึ้นบรรทัดใหม่
*รายการก่อนหน้า ศูนย์ครั้งหรือมากกว่า
+รายการก่อนหน้า หนึ่งครั้งหรือมากกว่า
?รายการก่อนหน้า หนึ่งครั้งหรือไม่มีเลย
[ ]อักขระหนึ่งตัวจากในวงเล็บ เช่น [aeiou] หรือ [0-9]
\d \w \sตัวเลขหลัก; ตัวอักษร ตัวเลข หรือขีดล่าง; เว้นวรรค แท็บ หรือการขึ้นบรรทัดใหม่
( )กลุ่ม ซึ่งแทนที่สามารถนำกลับมาใช้เป็น $1, $2 และอื่น ๆ
^ และ $จุดเริ่มต้นและจุดสิ้นสุดของข้อความทั้งหมด

อักษรตัวพิมพ์ใหญ่จะกลับความหมายของกลุ่ม: \D คืออักขระที่ไม่ใช่ตัวเลข และ \S คืออักขระที่ไม่ใช่ช่องว่าง

มีสองข้อที่ควรทราบสำหรับเครื่องมือนี้ ประการแรก \w จับคู่เฉพาะตัวอักษรภาษาอังกฤษ ตัวเลข และขีดล่างเท่านั้น สำหรับตัวอักษรที่มีเครื่องหมายกำกับ ให้ใช้ \p{L} ซึ่งจับคู่ตัวอักษรของทุกภาษา ประการที่สอง ^ และ $ จับคู่จุดเริ่มต้นและจุดสิ้นสุดของข้อความทั้งหมด ไม่ใช่ของแต่ละบรรทัด สูตรด้านล่างจึงใช้การขึ้นบรรทัดใหม่ภายในรูปแบบแทน

กลุ่มและ $1

ใส่บางส่วนของรูปแบบไว้ในวงเล็บ แล้วเครื่องมือจะจดจำสิ่งที่ส่วนนั้นจับคู่ได้ ในช่องแทนที่ $1 คือกลุ่มแรก $2 คือกลุ่มที่สอง และ $& คือผลการจับคู่ทั้งหมด คู่มือ FAQ ของเครื่องมือเองมีตัวอย่างคลาสสิก: เมื่อค้นหาเป็น (\w+)@(\w+) และแทนที่เป็น $2 at $1 ข้อความ name@site จะกลายเป็น site at name กลุ่มจะใช้งานได้เฉพาะเมื่อเปิด Regex เท่านั้น เมื่อปิดอยู่ $1 จะถูกพิมพ์ตามตัวอักษร

สร้างรูปแบบทีละขั้นตอน

เริ่มจากข้อความที่ต้องการค้นหาแบบตรงตัว แล้วแทนที่ส่วนที่เปลี่ยนแปลงด้วยสัญลักษณ์ วันที่ เช่น 2026-11-04 เขียนได้เป็น \d{4}-\d{2}-\d{2} โดย {4} หมายถึงรายการก่อนหน้าต้องมีพอดี 4 ตัว ลองทดสอบรูปแบบอย่างง่ายก่อน และค่อยเพิ่มความเข้มงวดก็ต่อเมื่อไฮไลต์แสดงว่าจับคู่มากเกินไป

หากต้องการดูว่ารูปแบบทำงานอย่างไรโดยไม่เปลี่ยนแปลงอะไร ทดสอบ Regex จะรันรูปแบบกับข้อความตัวอย่างและแสดงรายการการจับคู่ทุกรายการ

7 สูตรตัวอย่าง

เปิด Regex สำหรับแต่ละสูตร เครื่องมือจะไฮไลต์การจับคู่และแสดงจำนวนก่อนที่คุณจะคัดลอก ดังนั้นควรทดสอบแต่ละสูตรกับสำเนาของข้อความก่อน

  1. สลับชื่อจริงกับนามสกุล. ค้นหา (\w+) (\w+) แทนที่ด้วย $2, $1 "Ada Lovelace" จะกลายเป็น "Lovelace, Ada" สำหรับชื่อที่มีเครื่องหมายกำกับ ให้ใช้ (\p{L}+) (\p{L}+) รูปแบบนี้ใช้ได้เฉพาะชื่อที่มีสองคำเท่านั้น
  2. ลบช่องว่างท้ายบรรทัด. ค้นหา [ \t]+(?=\r?\n|$) แทนที่ให้เว้นว่าง มันจับคู่เว้นวรรคหรือแท็บที่อยู่ก่อนการขึ้นบรรทัดใหม่หรือจุดสิ้นสุดของข้อความ lookahead (?=...) ตรวจสอบการขึ้นบรรทัดโดยไม่ลบออก และ \r? ครอบคลุมการขึ้นบรรทัดแบบ Windows แก้ข้อความที่วางมา มีตัวเลือกตัดช่องว่างของแต่ละบรรทัดที่ทำงานเหมือนกัน
  3. ยุบช่องว่างซ้ำ. ค้นหา {2,} ซึ่งคือเว้นวรรคที่ซ้ำสองครั้งขึ้นไป และแทนที่ด้วยเว้นวรรคหนึ่งตัว เว้นวรรคตั้งแต่สองตัวขึ้นไปจะกลายเป็นหนึ่งตัว มันยังทำให้การเยื้องลดลงด้วย ดังนั้นให้ข้ามสูตรนี้สำหรับโค้ด
  4. เพิ่มคำนำหน้าให้ทุกบรรทัด. ค้นหา (.+) แทนที่ด้วย - $1 อักขระหนึ่งตัวขึ้นไปที่อยู่ระหว่างการขึ้นบรรทัดแต่ละชุดคือหนึ่งบรรทัด และ $1 เก็บบรรทัดนั้นไว้ บรรทัดว่างจะถูกข้าม ใช้รูปแบบหนึ่งตัวขึ้นไปคือ .+ ไม่ใช่รูปแบบศูนย์ตัวขึ้นไป เพราะรูปแบบศูนย์ตัวขึ้นไปจะจับคู่ตำแหน่งว่างระหว่างการขึ้นบรรทัดด้วย ทำให้บรรทัดว่างได้เครื่องหมายขีดที่ไม่ตั้งใจติดมา
  5. ลบบรรทัดว่าง. ค้นหา \n\s*(?=\n) แทนที่ให้เว้นว่าง การจับคู่คือการขึ้นบรรทัดใหม่และช่องว่างใด ๆ ที่ตามมา จนถึงการขึ้นบรรทัดถัดไป โดยการขึ้นบรรทัดถัดไปนั้นจะถูกเก็บไว้ วิธีนี้ลบบรรทัดว่างได้ รวมถึงบรรทัดที่มีแต่เว้นวรรค และเนื่องจาก \s จับคู่การคืนรถ (carriage return) ด้วย การขึ้นบรรทัดแบบ Windows จึงใช้ได้เช่นกัน บรรทัดว่างที่อยู่บนสุดของข้อความจะยังคงอยู่ เครื่องมือ ลบบรรทัดซ้ำ มีตัวเลือกลบบรรทัดว่างที่ทำหน้าที่เดียวกันด้วยการติ๊กเพียงครั้งเดียว
  6. หนึ่งรายการต่อหนึ่งบรรทัด. ค้นหา ,[ ]* แทนที่ด้วย \n แล้วติ๊กช่อง อ่าน \n และ \t ในช่องแทนที่ "apples, pears, plums" จะกลายเป็นสามบรรทัด หากไม่ติ๊ก \n จะยังคงเป็นอักขระสองตัว คือ เครื่องหมายแบ็กสแลชและตัว n
  7. ใส่วงเล็บครอบตัวเลขทุกตัว. ค้นหา \d+ แทนที่ด้วย [$&] "Order 42 and 7" จะกลายเป็น "Order [42] and [7]" $& คือผลการจับคู่ทั้งหมด จึงไม่ต้องใช้กลุ่ม

ตรวจสอบก่อนคัดลอก

  • จำนวนการจับคู่และไฮไลต์แสดงสิ่งที่รูปแบบจับได้ หากไฮไลต์ผิด ผลลัพธ์ก็จะผิดด้วย
  • รูปแบบที่มีข้อผิดพลาดจะแสดงข้อความ "รูปแบบไม่ถูกต้อง" ใต้กล่องข้อความ แก้รูปแบบแล้วผลลัพธ์จะอัปเดต
  • ปล่อยช่องแทนที่ว่างไว้เพื่อลบทุกการจับคู่ ข้อความในช่องจะบอกไว้
  • ตัวเลือกตรงตามตัวพิมพ์ปิดอยู่เป็นค่าเริ่มต้น ดังนั้นสูตรต่าง ๆ จะจับคู่ตัวพิมพ์ใหญ่และเล็กเหมือนกัน ให้เปิดตัวเลือกนี้เมื่อตัวพิมพ์มีความสำคัญ
  • หากต้องการค้นหาจุดเต็มหรือวงเล็บตรงตัวขณะเปิด Regex ให้ใส่เครื่องหมายแบ็กสแลชไว้ข้างหน้า: \. หรือ \[

กรณีพิเศษ

  • การจับคู่แบบโลภ. .+ จะจับให้มากที่สุดเท่าที่ทำได้ หากต้องการหยุดที่การจับคู่แรก ให้เพิ่มเครื่องหมายคำถาม: .+? ข้อนี้สำคัญกับข้อความอย่าง <b>.+</b> ซึ่งอาจวิ่งข้ามหลายแท็ก
  • ทั้งคำ. สำหรับคำธรรมดา การปิด Regex ปลอดภัยกว่า ตัวเลือกเฉพาะคำทั้งคำจะป้องกันไม่ให้ cat จับคู่กับ category ตามที่ FAQ ของเครื่องมืออธิบาย คู่มือการค้นหาและแทนที่ มีตัวอย่างเพิ่มเติมของการเปลี่ยนแปลงทั้งคำ
  • เก็บต้นฉบับไว้. ผลลัพธ์จะปรากฏในกล่องของตัวเอง และข้อความต้นฉบับจะคงเดิม เมื่อพอใจแล้ว ให้คัดลอกผลลัพธ์ออกมา

แปลจาก ฉบับภาษาอังกฤษ ด้วยความช่วยเหลือของ AI

ความคิดเห็น

    ยังไม่มีความคิดเห็น มาเป็นคนแรกกันเลย

    คะแนนของคุณ (ไม่บังคับ)

    อีเมลของคุณจะไม่ถูกแสดงหรือเก็บไว้

    ปกของ How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 หน้าว่าด้วยข้อได้เปรียบของมนุษย์ ด้านเศรษฐกิจ และด้านกลยุทธ์ ที่ยังคงหายากแม้ AI จะทำงานด้านการคิดได้เกือบทั้งหมด

    $3.84ซื้อบน Gumroadฉบับภาษาอังกฤษ