ซอฟต์แวร์สำหรับสร้างการแสดงผลปกติหรือไม่


17

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

คำตอบ:


9

Visual Regexpเกี่ยวกับอะไร

http://laurent.riesterer.free.fr/regexp/screenshot2.png


คุณใช้ wm อะไร
enzotib

1
ไม่ใช่ฉันนั่นคือลิงก์โดยตรงจากหน้าแรกของโครงการ แต่ดูเหมือนว่า fvwm ที่เป็นที่นิยมในปลายปี 1990: s อย่าลังเลที่จะเปรียบเทียบกับบางสิ่งบางอย่างเช่นfvwm.org/sc4.0s/desktops/Helmuth_Schmelzer-1366x768/นี้ฉันไม่มีความคิดว่าสถานะ fvwm วันนี้เป็นอย่างไร
Johan

1
การตกแต่งหน้าต่างนั้นอยู่นอก Motif ซึ่งได้รับการย้าย / คัดลอกในตัวจัดการหน้าต่างอื่น ๆ en.wikipedia.org/wiki/Motif_Window_Manager
Arcege


4

ลองtxt2regexและดูว่ามีประโยชน์หรือไม่ ฉันไม่เคยใช้มันอย่างจริงจัง แต่มันก็เจ๋งเมื่อฉันลอง



2

ไม่ใช่สิ่งที่ OP ขอ - แต่ฉันคิดว่ามันเกี่ยวข้องดังนั้นฉันจะข้ามโพสต์คำแนะนำสำหรับบรรณาธิการ Regex? # 549107 - ถาม Ubuntu :

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

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

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

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

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

visRegexTester_01.png


1

ใช่text2re.comควรใกล้เคียงกับสิ่งที่คุณต้องการ รับข้อความต้นฉบับคุณสามารถเลือกสร้าง regex ที่ตรงกับข้อความที่กำหนด เครื่องมือสร้างรหัสสำหรับภาษาที่ใช้งานง่าย

UI ของเครื่องมือสร้าง regex (ขั้นตอนที่ 2 ในหน้า) นั้นยากที่จะเรียนรู้เล็กน้อย โปรดทราบว่าการโฮเวอร์เหนือตัวเลือกใด ๆ อธิบายถึงวัตถุที่คุณกำลังจับคู่:

UI เครื่องมือ regex


0

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

จริงๆแล้วsedเป็นเพียงภาษาสคริปต์และสามารถจัดวางเหมือนภาษาอื่น ๆ เช่น ด้วยหนึ่งคำสั่งต่อบรรทัด นี่เป็นตัวอย่างทั่วไปของสิ่งที่ฉันหมายถึง: sed regex แสดงรูปแบบโครงสร้าง

คุณสมบัติที่มีประโยชน์มากsedคือคำสั่งการดีบักlซึ่งเป็นการดัมพ์บรรทัดแบบง่ายที่แสดงพื้นที่รูปแบบพร้อมกับการขึ้นบรรทัดใหม่ที่แสดงเป็น\nฯลฯ

ปัญหาที่เกิดขึ้นsedไม่ใช่เพียงการแสดงออกปกติ มันมีชุดคำสั่งลับ ๆ ที่ขี้ขลาดสำหรับการวนลูปและการทดสอบเงื่อนไข สิ่งนี้ใช้เวลานานในการทำความคุ้นเคยกับ ... เครื่องมือที่ดีที่สุดที่ฉันเคยพบเพื่อช่วยฉันจัดการกับsedมันค่อนข้างง่าย: ฉันอ่านรายละเอียดด้วยตนเอง .. จากนั้นมันเป็นเพียงกระบวนการเริ่มต้นเล็ก ๆ ทำงานง่าย ๆ จากนั้นสร้างสิ่งที่ใหญ่กว่าเพื่อรับประสบการณ์ ..

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

เครื่องมือที่ดีที่สุดเพื่อช่วยให้คุณคือประสบการณ์ เช่น. การจัดการคำถาม regex ในเว็บไซต์นี้เป็นวิธีที่ยอดเยี่ยมในการรับประสบการณ์นั้น ... ฉันรู้สึกว่าเครื่องมือ GUI ไม่ได้ช่วยอะไรมากนักเพราะพวกเขายับยั้งประสบการณ์ ...

โดยสรุปเครื่องมือช่วยเหลือที่ดีที่สุดคือประสบการณ์และโครงร่างที่มีโครงสร้างและอ่านคู่มือ (รายละเอียด) ..

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


ฉันคิดว่ามันไม่เจ็บถ้าคุณมีเครื่องมือสำหรับการทดสอบและทดสอบที่ง่าย (ผู้สร้างใหม่ emacs)
favadi

1
ฉันเคยใช้emacs re-builderและมันไม่ได้ช่วยฉันเลย ... ไม่ใช่วันที่ผ่านมา 1 ... ทั้งหมดมันแสดงให้ฉันเห็นว่าemacsมันจำเป็นต้องมีเครื่องหมายแบ็กสแลชหรือสองอันเนื่องจากการที่ emacs ประเมินสิ่งต่าง ๆ ... คุณสามารถทำได้ การทดสอบเดียวกันโดยการประเมิน regex ของคุณผ่านทางC-x C-e.. มันไม่ได้เขียนนิพจน์สำหรับคุณ คุณยังคงต้องเขียนมัน ... และจากนั้นก็มีemacsระบบการเขียน regex โดยใช้คำอธิบาย .. (ฉันคิดว่าระบบverbose / english-likeเสียชีวิตด้วย COBOL .. แต่แม้ COBOL ยังไม่ตายอย่างสมบูรณ์ ยัง) .. และคุณยังคงต้องเขียน
Peter.O
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.