ค้นหาและแทนที่ข้อความด้วย Regex ที่เป็นตัวเลือก
แทนที่ทุกการแข่งขันในการส่งครั้งเดียว ตามตัวอักษรหรือด้วยนิพจน์ทั่วไป JavaScript
ไฟล์ของคุณและความเป็นส่วนตัวของคุณ
การค้นหา การแทนที่ และข้อความที่ใช้กับทั้งหมดจะยังคงอยู่ในแท็บเบราว์เซอร์นี้
ไม่มีการอัปโหลดและไม่มีการบันทึกอัตโนมัติ ดังนั้นไฟล์การกำหนดค่าหรือบล็อกของแหล่งที่มา
รหัสที่วางที่นี่จะไม่มีการคัดลอกเมื่อคุณโหลดหน้าซ้ำหรือเลือกล้างข้อมูล
เครื่องมือนี้ทำอะไรได้บ้าง
ค้นหาบล็อกข้อความและแทนที่รายการที่ตรงกันทั้งหมดพร้อมกันด้วยนิพจน์ทั่วไปที่เป็นตัวเลือก
ความละเอียดอ่อนของตัวพิมพ์และการจับคู่คำทั้งหมด รูปแบบที่ไม่ถูกต้องจะถูกรายงานเป็นข้อความและ
ข้อความของคุณไม่ถูกแตะต้อง
โดยจะค้นหาทุกรายการของคำค้นหา แทนที่ทั้งหมดในการผ่านครั้งเดียว และ
รายงานจำนวนการเปลี่ยนทดแทน สวิตช์สามตัวเปลี่ยนวิธีการอ่านคำ: Regex
ถือว่ามันเป็นนิพจน์ทั่วไปมากกว่าอักขระตามตัวอักษร โดยคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
ค่าเริ่มต้นและสามารถปิดได้ และทั้งคำต้องมีขอบเขตของคำที่ปลายแต่ละด้าน ดังนั้น
ตามหาแมวใบไม้ที่ต่อกันเพียงลำพัง รูปแบบที่จะไม่คอมไพล์ทำให้เกิดข้อผิดพลาด
ข้อความและไม่มีการเปลี่ยนแปลงใดๆ เลย ซึ่งสำคัญเนื่องจากรูปแบบการพิมพ์ครึ่งหนึ่งถือเป็นขั้นตอนปกติ
ไปสู่การทำงาน
วิธีการใช้งาน
-
วางข้อความของคุณลงในช่อง จากนั้นพิมพ์คำค้นหาและการแทนที่ลงในทั้งสอง
สาขา
-
ปล่อยให้ Regex ปิดไว้เพื่อให้ตรงกับคำนั้นอย่างแท้จริง ตัวละครพิเศษทุกตัวในนั้นถูกหลบหนี
ดังนั้นการหยุดเต็มจึงตรงกับการหยุดเต็มและไม่มีอะไรอื่นอีก
-
เปิด Regex เมื่อคุณต้องการรูปแบบ และใช้ $1, $2 และอื่นๆ เพื่อแทนที่
อ้างอิงถึงกลุ่มการจับของมัน
-
เลือกแทนที่ทั้งหมดแล้วอ่านจำนวนที่รายงานในภายหลัง ถ้ามันไม่ใช่สิ่งที่คุณ
คาดหวัง ให้เลือกเลิกทำและปรับแต่งรูปแบบ
ตัวอย่างการใช้งาน
- การสลับโดเมนที่เปลี่ยนชื่อ ชื่อผลิตภัณฑ์ หรือตัวแปรทั่วทั้งไฟล์ที่วาง
-
การจัดรูปแบบคอลัมน์วันที่ใหม่ด้วยรูปแบบกลุ่มการจับภาพ โดยเปลี่ยน 2024-01-02 ให้เป็น
02/01/2024.
-
การแทนที่คำโดยไม่ต้องสัมผัสคำที่ยาวกว่าที่มีอยู่โดยใช้ทั้งคำ
การจับคู่
สิ่งที่เครื่องมือนี้จะไม่ทำ
-
การแทนที่ทั้งหมดเป็นเพียงการกระทำเท่านั้น: ไม่มีการแทนที่ ไม่มีการผ่านแมตช์ ไม่ใช่
เน้นถึงสิ่งที่กำลังจะเปลี่ยนแปลง เรียกใช้และอ่านการนับหรือเลิกทำ
-
มีการใช้แฟล็กเพียงสองรายการเท่านั้น: ทั่วโลกเสมอ และไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เมื่อคุณเคลียร์เคส
กล่องละเอียดอ่อน ไม่มีแฟล็กแบบหลายบรรทัด จุดทั้งหมด เหนียว หรือยูนิโค้ด และ JavaScript
ไม่มีไวยากรณ์แฟล็กอินไลน์ ดังนั้นรูปแบบที่เริ่มต้น (?m) จึงถูกปฏิเสธว่าเป็นกลุ่มที่ไม่ถูกต้อง
-
หากไม่มีแฟล็กหลายบรรทัด ^ และ $ จะยึดที่จุดเริ่มต้นและจุดสิ้นสุดของข้อความทั้งหมดแทน
กว่าแต่ละบรรทัด และการหยุดเต็มไม่ตรงกับตัวแบ่งบรรทัด
-
การ์ดจับรูปแบบที่จะไม่คอมไพล์ ไม่ใช่รูปแบบที่ช้า อันหนึ่งนั่นเอง
การย้อนรอยอย่างหายนะยังคงทำงานบนเธรดหลักและสามารถล็อคแท็บได้
-
การแทนที่จะครอบคลุมทั้งข้อความ ไม่มีทางที่จะจำกัดมันไว้เพียงการเลือกเส้นเดียว
ช่วงหรือสองสามนัดแรก
ข้อผิดพลาดทั่วไป
-
ใส่เครื่องหมายดอลลาร์แทนและคาดหวังว่ามันจะเป็นตัวอักษร การทดแทน
สตริงจะไม่ถูก Escape แม้แต่ในโหมดตัวอักษร ดังนั้น $& จึงแทรกข้อความที่ตรงกันและ $$
สร้างเครื่องหมายดอลลาร์เดียว — เขียน $$ เมื่อคุณหมายถึงหนึ่ง
-
การเปิดทั้งคำสำหรับคำที่มีสำเนียงหรือเครื่องหมายวรรคตอน ขอบเขตของคำ
อิงจาก ASCII ดังนั้นการค้นหา คาเฟ่ หรือ (แมว) ด้วยคำว่า Whole จึงไม่ตรงกันเลย และ
รายงานการเปลี่ยนเป็นศูนย์แทนที่จะเป็นข้อผิดพลาด
-
การใช้คุณสมบัติ Unicode จะหนีในรูปแบบ หากไม่มีแฟล็กยูนิโค้ด \p{L} จะไม่ทำ
หมายถึง 'ตัวอักษรใด ๆ ' - มันตรงกับอักขระตามตัวอักษร p{L} ดังนั้นการแทนที่จึงสิ้นสุดลง
ที่ไหนสักแห่งที่คุณไม่เคยตั้งใจ
-
การยึดด้วย ^ เพื่อนำหน้าทุกบรรทัด มันตรงกับเฉพาะส่วนเริ่มต้นของข้อความเท่านั้น
มีการเปลี่ยนทดแทนหนึ่งครั้งและทุกบรรทัดที่เหลือจะถูกทิ้งไว้ตามลำพัง
หมายเหตุทางเทคนิค
ในโหมดลิเทอรัล อักขระเมตาของนิพจน์ทั่วไปทุกตัวในข้อความค้นหาจะถูกยกเว้น
ก่อนการคอมไพล์จึงทำได้แค่จับคู่ตัวเองเท่านั้น ในโหมด regex คำนี้จะถูกส่งผ่าน
ตามที่เขียนไว้ คำทั้งหมดล้อมรอบสิ่งที่คุณได้รับใน \b(?:…)\b ในฐานะกลุ่มที่ไม่ได้จับภาพ ดังนั้น
การสลับเช่น cat|dog ถูกผูกไว้โดยรวมแทนที่จะผูกมัดกับ
สาขาแรกของเขา การรวบรวมเกิดขึ้นภายในตัวป้องกันที่ส่งคืนค่าความผิดพลาดแทน
ของการขว้างปาและข้อความของเครื่องยนต์ก็ถูกส่งผ่านโดยไม่ต้องมีคำนำหน้าซ้ำซ้อน
การนับจะดำเนินการโดยการจับคู่ก่อนที่จะแทนที่ จากนั้นการแทนที่สตริงมาตรฐานจะดำเนินการ
— ซึ่งเป็นเหตุผลว่าทำไมการแทนที่จึงให้เกียรติ $1 ถึง $9, $& และ $$ ในทั้งสองโหมด: เฉพาะ
ด้านการค้นหาหลบหนี
คำถามที่พบบ่อย
- มันใช้รสชาติการแสดงออกปกติใด?
-
JavaScript ของตัวเอง รวบรวมโดยเอ็นจิ้นในเบราว์เซอร์ที่คุณใช้ รูปแบบที่เขียน
สำหรับรสชาติอื่นๆ — คลาส PCRE, Python หรือ POSIX เช่น [:alpha:] — จะล้มเหลวอย่างใดอย่างหนึ่ง
เพื่อรวบรวมหรือจับคู่สิ่งที่แตกต่าง
- กลุ่มดักจับทำหน้าที่ทดแทนหรือไม่?
-
ใช่ ในโหมด regex ค้นหา (\d{4})-(\d{2})-(\d{2}) และแทนที่ด้วย $3/$2/$1 เพื่อเขียนใหม่
2024-01-02 เป็น 02/01/2024. ตัวเลขที่อยู่นอกกลุ่มในรูปแบบของคุณจะถูกปล่อยให้เป็นตัวอักษร
ข้อความ
- จะเกิดอะไรขึ้นหากนิพจน์ทั่วไปของฉันไม่ถูกต้อง
-
คุณได้รับข้อความเครื่องยนต์อธิบายสิ่งผิดปกติ เช่น กลุ่มที่ไม่ถูกกำจัด
และข้อความของคุณก็ยังคงอยู่เหมือนเดิมทุกประการ ไม่มีอะไรถูกโยน ไม่มีอะไรถูกเคลียร์ และคุณ
สามารถแก้ไขรูปแบบต่อได้