คำถามเกี่ยวกับการใช้การค้นหาและแทนที่ของ Regex ใน gedit


10

ฉันพยายามใช้ปลั๊กอินการค้นหา & แทนที่ของ gedit ของRegex

  1. ฉันต้องการค้นหาตัวเลขที่ทำซ้ำ 2 หรือ 3 ครั้งดังนั้นฉันคิดว่า regex เป็น

    [0-9]\{2,3\}

    แต่ไม่ตรงกับเป้าหมายที่ควรจะเป็นเช่น "22"

  2. ฉันต้องการค้นหาคำว่า "บันทึกย่อ" ดังนั้นฉันคิดว่ามันน่าจะ

    \<Notes\> 

    แต่มันก็ไม่ทำงานเหมือนกัน

  3. วิธีเพิ่ม "#" ต่อหน้าสตริงสามหลัก "[0-9] [0-9] [0-9]" เช่น "123" จะกลายเป็น "# 123"

ฉันสงสัยว่าฉันทำผิดพลาดบ้างไหม? ฉันใช้พื้นฐาน Regex Regex ประเภทใดที่ใช้ในปลั๊กอิน ฉันจะเรียนรู้วิธีใช้ปลั๊กอินนี้ได้อย่างไร

คำตอบ:


14

คุณไม่จำเป็นต้องหลีกเลี่ยงอักขระ regex ของคุณ ตัวอย่างแรกของคุณควรเป็น:

[0-9]{2,3}

ตัวอย่างที่สองของคุณควรเป็น:

\bNote\b

สำหรับสถานการณ์ที่สามคุณจะต้องจับคู่สิ่งต่าง ๆ ก่อนและหลังจากนั้นใช้การอ้างอิงย้อนกลับ:

(.*)([0-9]{3}.*)

ด้วยการเปลี่ยนเป็น:

\1p\2

สำหรับรายละเอียดเพิ่มเติมโปรดดูpydoc reที่จะบอกคุณเกี่ยวกับงูหลามไวยากรณ์แสดงออกปกติหรือเอกสารออนไลน์


1

ดังที่ Kees กล่าวว่าปลั๊กอินใช้reไวยากรณ์ของ Python ซึ่งมีHow-Toบนเว็บไซต์ไพ ธ อน

ผมขอแนะนำการติดตั้งและการเล่นรอบกับKodos มันเป็นเครื่องทดสอบนิพจน์ทั่วไปของงูใหญ่ (มันเรียกตัวเองว่า 'ดีบั๊กเกอร์') และรวมแผ่นงาน regex อ้างอิงอย่างรวดเร็วเช่นเดียวกับเอกสารประกอบโมดูลรุ่นที่สั้นกว่าติดตั้ง kodos
re

เว็บไซต์ regular-expression.infoมีการเปรียบเทียบที่ดีของการใช้งานที่แตกต่างกันในการแสดงออกปกติ meta-ภาษา มีส่วนที่ดีในรสชาติงูหลามที่นั่นเช่นกัน


@igbelacqua: ขอบคุณ! ฉันเดา Kodos สำหรับ KDE ถ้าฉันถูกต้องมันสามารถติดตั้งใน Gnome ได้ แต่จะไม่ดีที่สุดหากมีซอฟต์แวร์ท้องถิ่นอื่น ๆ ของ Gnome คุณรู้หรือไม่ว่าชาวพื้นเมืองคืออะไร?
ทิม

อืม - Kodos มีการพึ่งพา Qt แต่ไม่ใช่แอพ KDE ต่อที่ฉันเห็น ฉันใช้งาน Ubuntu ขั้นพื้นฐาน (Gnome) และไม่ได้ออกนอกสถานที่ อีกตัวเลือกหนึ่งคือkiki- เป็นแอปพลิเคชั่น python-wxgtk2.6 - ไม่เป็นฟีเจอร์เต็มรูปแบบ ฉันใช้มันก่อนที่จะหา kodos ตัวเลือกผู้ทดสอบอีกตัวที่ไม่ต้องติดตั้งคือpythonregex.com - บอกว่ามันเป็นแรงบันดาลใจจาก Kodos และมันก็สะอาดและมีประโยชน์ อาจเป็นวิธีที่ง่ายที่สุดในการใช้ทั้งสาม
belacqua
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.