ค้นหาและแทนที่ข้อความ (literal หรือ
วางข้อความ ตั้งสตริงค้นหาและแทนที่ เปิดใช้ regex / case-insensitive / multi-line ตามต้องการ และดูข้อความที่แก้ไขพร้อมจำนวนที่ตรงกันทันที
วิธีการทำงาน
สองโหมด — literal และ regex
Literal (regex ปิด): สตริงค้นหาตรงกันตรงตัว อักขระพิเศษเช่น '.' และ '*' ถูกปฏิบัติเป็นตัวเอง นี่เป็นค่าเริ่มต้นที่ปลอดภัยสำหรับการแก้ไขข้อความประจำวันส่วนใหญ่
Regex (regex เปิด): สตริงค้นหาถูกตีความเป็นนิพจน์ regular ของ JavaScript ใช้สิ่งนี้สำหรับรูปแบบ — ตัวอย่างเช่น /\b\w+@\w+\.\w+\b/ เพื่อหาอีเมล หรือ (^.+:) เพื่อจับคู่ฉลากที่จุดเริ่มต้นของบรรทัด ด้วยโหมดหลายบรรทัด ^ และ $ จับคู่ที่บรรทัดใหม่
ไวยากรณ์พิเศษของสตริงแทนที่
เมื่ออยู่ในโหมด regex สตริงแทนที่รองรับ backreferences: $1, $2 ฯลฯ สำหรับ capture groups; $& สำหรับการจับคู่ทั้งหมด; $$ สำหรับเครื่องหมายดอลลาร์ literal ตัวอย่าง: ค้นหา /(\d{3})-(\d{3})-(\d{4})/ แทนที่ ($1) $2-$3 จัดรูปแบบเบอร์โทรศัพท์สหรัฐใหม่
ในโหมด literal สตริงแทนที่ถูกถ่ายตามที่เป็น — ไม่มี backreferences ไม่มีการจัดการพิเศษ สิ่งที่คุณพิมพ์คือสิ่งที่ถูกแทรก
การใช้งานทั่วไป
แก้ไขจำนวนมาก: ทำให้การสะกดเป็นมาตรฐาน ('color' → 'colour' สำหรับสไตล์ UK) อัปเดตชื่อผลิตภัณฑ์ แก้ไขการพิมพ์ผิดในเอกสารยาว
การ refactor โค้ด: เปลี่ยนชื่อตัวแปรในการวางโค้ด (ใช้ไวต่อตัวพิมพ์) สำหรับการ refactor จริงในหลายไฟล์ IDE ดีกว่า
การล้างข้อมูล: แปลง tab เป็นคอมมาใน CSV แทนที่ตัวคั่นหนึ่งด้วยอีกอัน normalize ช่องว่าง
Markdown เป็นข้อความธรรมดา: ลอกไวยากรณ์ Markdown ด้วย regex (เช่น /\*\*([^*]+)\*\*/g → $1 เพื่อลบเครื่องหมายตัวหนา)
คำถามที่พบบ่อย
›นี่ต่างจาก regex tester อย่างไร?
นี่เน้นการดำเนินการแทนที่ Regex tester เน้นการตรวจสอบที่ตรงกันและ capture groups ใช้สิ่งที่เหมาะกับงาน
›ใช้ Unicode ในการค้นหา/แทนที่ได้ไหม?
ได้ ทั้งสตริงค้นหาและแทนที่รองรับ UTF-8 เต็มรูปแบบรวม emoji และอักขระ CJK
›ทำไมค้นหา/แทนที่ของฉันไม่ทำงาน?
ที่พบบ่อยที่สุด: ความไวต่อตัวพิมพ์ 'Hello' จะไม่ตรงกับ 'hello' เว้นแต่คุณสลับ case-insensitive หรือ อักขระ regex พิเศษในโหมด literal ถูกเข้าใจผิด
›นี่รักษาการจัดรูปแบบหรือไม่?
รักษาข้อความตรงตัวยกเว้นที่ตรงกัน หากข้อความของคุณมี tabs หรือบรรทัดใหม่เฉพาะ พวกมันจะถูกรักษา
›เลิกทำการแทนที่ได้ไหม?
ต้นฉบับอยู่ในฟิลด์อินพุต วางใหม่จากที่นั่นหรือใช้พฤติกรรมข้อความย้อนกลับของเบราว์เซอร์ เราไม่มีการเลิกทำในตัว
›ข้อความของฉันใหญ่ได้แค่ไหน?
ข้อความหลายเมกะไบต์ใช้ได้ แม้ว่า regex บนอินพุตขนาดใหญ่อาจช้าหากเขียนรูปแบบไม่ดี
›วิธีที่ดีในการเรียน regex คืออะไร?
เริ่มต้นด้วยโหมด literal และเปลี่ยนเป็น regex เมื่อคุณต้องการรูปแบบ ค้นหา 'JavaScript regex cheat sheet' หรืออ้างอิงเอกสาร RegExp ของ MDN
›ข้อมูลออกจากเบราว์เซอร์หรือไม่?
ไม่ การค้นหา/แทนที่ทั้งหมดทำงานในเครื่อง
เครื่องมือที่เกี่ยวข้อง
อัปเดตล่าสุด: