คำแนะนำสำหรับบรรณาธิการ Regex?


15

ฉันขอคำแนะนำสำหรับบรรณาธิการของ Regexเกี่ยวกับ stackoverflow เมื่อไม่นานมานี้ ต่อไปนี้เป็นหนึ่งในคำตอบ :

"ดี" คืออะไรขึ้นอยู่กับสิ่งที่มีประโยชน์มากที่สุดสำหรับคุณ สำหรับฉันแล้วสิ่งเหล่านี้เป็นคุณสมบัติที่สำคัญสำหรับโปรแกรมแก้ไข regex ที่ดี (นอกเหนือจากความสามารถในการทดสอบและสร้างนิพจน์ทั่วไปแน่นอนซึ่งเป็นข้อกำหนดเบื้องต้นที่เรียกว่า "ตัวแก้ไข regex" :-):

  1. แสดงการจับคู่ตามลำดับชั้นกับกลุ่มที่ถูกจับ
  2. อธิบาย / วิเคราะห์ regex ที่ป้อนเป็นภาษาอังกฤษธรรมดาโดยแสดงแผนผังลำดับชั้น
  3. แปล regex ของคุณเป็นรหัสสำหรับภาษาที่คุณเลือก

RegexBuddy ตามที่ @ Max กล่าวถึงทำสิ่งเหล่านี้ทั้งหมด แต่ยังมีทางเลือกฟรี Expresso ที่ทำได้ดีมาก อรรถประโยชน์ทั้งสองนี้เป็นสิ่งเดียวที่ฉันได้พบกับความสามารถที่สำคัญในการอธิบาย regex

คุณสมบัติเสียงน่าสนใจมากสำหรับฉัน แต่ภายหลังฉันพบว่าทั้งสองสำหรับ Windows ฉันพยายามติดตั้ง Expresso ฟรีผ่านทางไวน์ แต่พบปัญหาบางอย่างซึ่งฉันถามในโพสต์อื่น

  1. ดังนั้นฉันสงสัยว่าใน Ubuntu มีแอปพลิเคชั่นบางตัวที่เทียบเท่ากับ RegexBuddy และ Expresso หรือไม่?
  2. หากจำเป็นต้องมีการติดตั้ง. NET Framework เพื่อติดตั้ง Expresso จะต้องมีการติดตั้ง Expresso บน Ubuntu หรือไม่?

ขอบคุณและขอแสดงความนับถือ!

คำตอบ:


11

ไกลโดยเครื่องมือที่ดีที่สุดสำหรับงานเป็นRegExr

ลิงค์ด้านบนจะนำคุณไปสู่เวอร์ชันออนไลน์ซึ่งยอดเยี่ยมและเป็นเครื่องมือ RegEx ที่ดีที่สุดที่ฉันเคยใช้

หากคุณกำลังมองหาบางสิ่งที่คุณสามารถติดตั้งใน Ubuntu ได้ให้ลองใช้รุ่นเดสก์ท็อปซึ่งเป็นแอปพลิเคชัน Adobe Air:

ป้อนคำอธิบายรูปภาพที่นี่


เพื่อรองรับคำตอบนี้ฉันเสียบในรูปแบบ regex คอมเพล็กซ์บ้า ๆ พร้อมกับโหลดข้อความจำลองและสามารถตรวจสอบและใช้ regex ได้อย่างถูกต้อง
โธมัสวอร์ด

ขอบคุณ! (1) รุ่นเดสก์ท็อป Regex ต้องการการเชื่อมต่อกับอินเทอร์เน็ตหรือไม่ (2) Regex ประเภทใดที่สนับสนุนประเภทพื้นฐาน, Python, Perl, awk, sed, ... ?
StackExchange สำหรับ All

@Tim: (1) ไม่ (2) ฉันคิดว่ามันใช้ไลบรารี RegEx ภายในของ AS3 ที่ถูกกล่าวว่าฉันพบว่ามันค่อนข้างใกล้เคียงกับ PCRE
Nathan Osman

การเชื่อมโยงในคำตอบของรุ่นเดสก์ทอปเปลี่ยนเส้นทางไปยังregexr.com คำแนะนำในการติดตั้ง RegExr ตั้งอยู่บนgithub.com/gskinner/regexr
Bas Peeters

5

Kodosเป็นแอพพลิเคชั่นที่ช่วยในการสร้างและแก้ไขข้อบกพร่องของนิพจน์ทั่วไปในไพ ธ อน GUI สำหรับ Kodos ควรกำจัดความจำเป็นในการใช้ตัวแปล python สำหรับการออกแบบ regex ในกรณีส่วนใหญ่

โฮมเพจ: http://kodos.sourceforge.net/

หรือเครื่องมือออนไลน์: http://www.regextester.com/


ฉันไม่คิดว่าเรากำลังมองหาโปรแกรม Windows @Wojciech
โธมัสวอร์ด

@EvilPhoneix: เป็นโปรแกรม Kodos Windows หรือ Ubuntu หรือไม่? ฉันได้ยินมาว่ามันสามารถใช้กับอูบุนตูได้
StackExchange สำหรับ All

มันมี. rpm ซึ่งสามารถแปลงเป็น. deb โดยใช้เอเลี่ยน
Lincity

ฉันติดตั้งKodosในราง Ubuntu รุ่นก่อนหน้านี้aptitudeแต่ดูเหมือนว่าจะลดลงจาก 12.10 ถ้าฉันดาวน์โหลดซอร์สและใช้setup.pyฉันได้รับข้อผิดพลาดในการพึ่งพาเกี่ยวกับ pyqt และการติดตั้งแบบแมนนวลด้วย โอกาสใดdebบ้างที่มีการทำงานที่ไหนสักแห่ง?
บรูตัส

4

visual-regexp ยังคงใช้งานได้และอยู่ในที่เก็บ Ubuntu น่าเสียดายที่ชื่อไม่ได้ขึ้นต้นด้วย "regex" ดังนั้นหลังจากนั้นคุณจะคิดว่า "อ๋อใช่แล้วตัวแก้ไข regex ที่ฉันติดตั้งให้พิมพ์" reg "ไม่ต้องทำอะไรเลยทำเว็บค้นหาและจบที่นี่ไปหมด อีกครั้ง (เนื่องจากเป็น Tk-based หรือไม่) การวางจากบัฟเฟอร์การวางลงในหน้าต่างรูปแบบดูเหมือนจะไม่ทำงานตามที่คาดไว้

Kodos เป็นเครื่องมือที่ยอดเยี่ยม แต่น่าเสียดายที่ RegExr และ Kodos ไม่ทำงาน (โดยไม่ต้องใช้ความพยายามอย่างมาก) ใน Ubuntu 12.10+ Kodos ไม่ได้รับการอัพเกรดเป็น QT4 และ Adobe Air ไม่รองรับ Linux อีกต่อไป


3

ฉันพบrefiddle.com : มันมีคุณสมบัติส่วนใหญ่ที่คุณต้องการจากโปรแกรมแก้ไข regex และเป็นโบนัสที่คุณสามารถแบ่งปัน regex ของคุณกับผู้อื่นหรือคั่นหน้าพวกเขา

ตัวอย่าง: http://refiddle.com/refiddles/red-green-corpus-test

มันเป็นโปรแกรมประยุกต์บนเว็บที่คล้ายกับRegExrสร้างขึ้นโดยไม่ใช้แฟลชและคุณสามารถสลับไปมาระหว่างJavaScript, .netและrubyประมวลผล regex นอกจากนี้คุณสมบัติทดสอบคลังข้อมูล ( ที่ฉันเพิ่งค้นพบขณะโพสต์ข้อความนี้ ) ก็ไม่เลว




1

(ข้ามโพสต์บนซอฟต์แวร์สำหรับสร้างนิพจน์ทั่วไปหรือไม่ # 167715 - Unix & Linux Stack Exchange )

นี่คือความพยายามของฉันที่เครื่องมือ GUI regex แบบภาพเรียกว่าvisRegexTester.py:

มันมี "ตัวอย่างสด" ("เรียกใช้ซ้ำอัตโนมัติ") ถ้าคุณพิมพ์และเปลี่ยนฟิลด์ "regex" ไม่อย่างนั้นมันก็แค่ไฟล์เดียว มีความคิดเห็น README ตั้งแต่เริ่มต้น - นี่เป็นตัวอย่างข้อมูลจาก:

visRegexTester เป็นแอปพลิเคชัน Python / Tkinter GUI ขนาดเล็กเพื่อช่วยในการเขียนนิพจน์ทั่วไป ทดสอบด้วย Python 2.7 และ 3.2 ในความเป็นจริงมันเป็นเพียงอินเตอร์เฟซสำหรับโปรแกรมบรรทัดคำสั่งอื่น ๆ : จะใช้ประโยชน์จากความจริงที่ว่าจำนวนมากของโปรแกรม Unix / GNU / Linux ใช้เป็นโปรเซสเซอร์ regex ในขั้ว (เช่นgrep, sed , perl) มีไวยากรณ์บรรทัดคำสั่งที่คล้ายกันในสาม ชิ้นส่วน:

(PROGRAM --ARGS) ('REGEX') (FILENAME)

... ดูส่วนที่เหลือของมันเพิ่มเติม ภาพหน้าจอ:

visRegexTester_01.png

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