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