nicetool.dev logo

ทดสอบ Regex

ใช้เอนจิน RegExp ของ JavaScript ในเบราว์เซอร์ ไม่มีการส่งข้อมูลไปยังเซิร์ฟเวอร์

//gi
ตัวอย่าง
ข้อความทดสอบ
ผลลัพธ์ที่ไฮไลต์2 ผลลัพธ์
Contact: [email protected], [email protected]
Visit https://nicetool.dev on 2026-09-24 from 192.168.1.10
Colors: #3b82f6 #fff #10b981
รายละเอียดผลลัพธ์
ผลลัพธ์ 1 · ตำแหน่ง 9
[email protected]
ผลลัพธ์ 2 · ตำแหน่ง 29
[email protected]

ชีตสรุป

.
อักขระใดก็ได้ยกเว้นขึ้นบรรทัดใหม่
\d
ตัวเลข (0-9)
\w
อักขระคำ (a-z, A-Z, 0-9, _)
\s
ช่องว่าง
\b
ขอบเขตคำ
^
ต้นข้อความ / บรรทัด
$
ท้ายข้อความ / บรรทัด
*
0 ครั้งขึ้นไป
+
1 ครั้งขึ้นไป
?
0 หรือ 1 ครั้ง (ไม่บังคับ)
{n,m}
ระหว่าง n ถึง m ครั้ง
[abc]
a, b หรือ c ตัวใดตัวหนึ่ง
[^abc]
ไม่ใช่ a, b หรือ c
(...)
กลุ่มจับ
(?<name>...)
กลุ่มจับที่มีชื่อ
a|b
a หรือ b

Regular expression คืออะไร?

Regular expression (regex) คือรูปแบบที่อธิบายชุดของข้อความ นักพัฒนาใช้ regex เพื่อตรวจสอบอินพุตเช่นอีเมล ค้นหาและแทนที่ข้อความ และดึงข้อมูลจาก log เครื่องมือนี้ใช้เอนจินเดียวกับโค้ด JavaScript ของคุณ ผลลัพธ์จึงตรงกันทุกประการ

คุณสมบัติ

  • • ไฮไลต์ทุกผลลัพธ์ขณะพิมพ์
  • • แสดงกลุ่มจับและกลุ่มที่มีชื่อของแต่ละผลลัพธ์
  • • ตัวอย่างการแทนที่พร้อมการอ้างอิงกลุ่มแบบตัวเลขและชื่อ
  • • รูปแบบสำเร็จรูปและชีตสรุปแบบกระชับ

ออกแบบเพื่อความเป็นส่วนตัว

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

ข้อมูลไม่ออกจากเบราว์เซอร์

วิธีใช้ ทดสอบ Regex

  1. 1

    พิมพ์รูปแบบในช่อง regular expression โดยไม่ต้องใส่เครื่องหมาย / ครอบ หรือเริ่มจากตัวอย่าง เช่น Email, URL หรือ IPv4

  2. 2

    เลือกแฟล็กที่ต้องการ: g หาทุกผลลัพธ์ i ไม่สนตัวพิมพ์เล็กใหญ่ m ให้ ^ และ $ ทำงานทีละบรรทัด s ให้ . ตรงกับการขึ้นบรรทัดใหม่ด้วย u สำหรับ Unicode

  3. 3

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

  4. 4

    เปิด Replace เพื่อดูผลการแทนที่ด้วย $1, $2 หรือกลุ่มที่ตั้งชื่อ จากนั้นคัดลอกรูปแบบไปใช้ในโค้ด

ตัวอย่างการใช้งานจริง

ตรวจสอบข้อมูลในฟอร์ม

ทดสอบรูปแบบสำหรับรหัสไปรษณีย์ เบอร์โทร หรือชื่อผู้ใช้ กับทั้งตัวอย่างที่ถูกและผิด ก่อนนำไปใช้ตรวจสอบฟอร์ม

ดึงข้อมูลจาก log

รูปแบบอย่าง (\d{3}) บน access log จะจับรหัสสถานะ HTTP ทุกตัว และรายการผลลัพธ์แสดงสิ่งที่สคริปต์จะดึงออกมาอย่างชัดเจน

ค้นหาและแทนที่ในโค้ด

เปลี่ยน 2026-10-03 เป็น 03/10/2026 ด้วย (\d{4})-(\d{2})-(\d{2}) และข้อความแทนที่ $3/$2/$1 แล้วตรวจผลก่อนใช้กับทั้งโปรเจกต์

เรียนรู้ regex

ใช้ตารางสรุปและเปลี่ยนทีละส่วนเพื่อดูว่าตัวระบุจำนวน กลุ่ม และตัวยึดตำแหน่งเปลี่ยนผลลัพธ์อย่างไร

คำถามที่พบบ่อย

ใช้ regex แบบใด?+

ใช้เอนจิน RegExp ของ JavaScript ในเบราว์เซอร์ ซึ่งเหมือนกับ Node.js และ TypeScript ไวยากรณ์ส่วนใหญ่ใช้ได้ใน Python, Java, PHP และ Go แต่ lookbehind กลุ่มที่ตั้งชื่อ และแฟล็กบางตัวอาจต่างกัน

ทำไมเจอแค่ผลลัพธ์แรก?+

หากไม่มีแฟล็ก g (global) regex ของ JavaScript จะหยุดหลังเจอผลลัพธ์แรก เปิด g เพื่อหาทั้งหมด

ตัวระบุจำนวนแบบโลภกับแบบขี้เกียจต่างกันอย่างไร?+

.* เป็นแบบโลภ จะกินอักขระให้มากที่สุด <.*> จึงตรงตั้งแต่ < ตัวแรกถึง > ตัวสุดท้าย ใส่ ? เพื่อให้เป็นแบบขี้เกียจ <.*?> จะหยุดที่ > ตัวแรก

regex ทำให้หน้าเว็บค้างได้หรือไม่?+

ได้ ตัวระบุจำนวนซ้อนกันอย่าง (a+)+ อาจทำให้เกิด backtracking รุนแรงกับข้อความยาว หากช้าลง ให้ทำรูปแบบให้ง่ายขึ้นหรือระบุส่วนที่ซ้ำให้เจาะจงขึ้น