เป็นกลุ่ม regex: + จะต้องมีการหลบหนี, * ไม่ได้ ทำไม?


1

สมมติว่าคุณต้องการเลือกบรรทัดที่เป็น: ช่องว่างเผื่อเลือกตามด้วยจำนวนเต็มบวกตามด้วยช่องว่างเพิ่มเติม

นี่คือ regex ที่ใช้งานได้:

:g/^\s*\d\+\s*/

*ผู้ประกอบการไม่ได้หนีออกมาในขณะที่+เป็น การหลบหลีก*แบ่ง Regex ดังนั้นจึงไม่หนี+หาย

มีคำอธิบายที่ดีสำหรับเรื่องนี้หรือไม่? เป็นการดีที่จะทำให้กฎใช้งานง่าย ด้วยเสียงฉันมักจะพยายามเขียน regexes เพราะกฎการหลบหนีที่ผิดปกติดังนั้นฉันรักความเข้าใจที่จะทำให้ทุกอย่างคลิกสำหรับฉัน

คำตอบ:


2

มันมีเหตุผลทางประวัติศาสตร์และมันจะทำลายความเข้ากันได้ถ้ามีการเปลี่ยนแปลง อย่างไรก็ตามคุณสามารถนำหน้ารูปแบบของคุณด้วย\vการเปิด "มายากลมาก" เพื่อให้คุณไม่ต้องหลบหนีเป็นพิเศษ :help /\vดู

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.