วิธีการแยก regex ที่ตรงกันจากไฟล์บน windows


3

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

ตัวอย่าง:

ในขณะที่ทำงานกับไฟล์ผู้ติดต่อ ฉันต้องการแยกที่อยู่อีเมลทั้งหมดไปยังไฟล์อื่น

คำตอบ:


5

RegexBuddyผลิตภัณฑ์ในเครือของEditPad Proทำสิ่งนี้ได้ดีผ่านแท็บ Grep จะคืนค่าผ่านโฟลเดอร์และแตกไฟล์ที่ตรงกัน นอกจากนี้ยังยอดเยี่ยมสำหรับการสร้างและทดสอบการแสดงปกติ

ใช้การตั้งค่าดังต่อไปนี้:

  • คุณสามารถเพิ่ม regex อีเมลที่สร้างไว้ล่วงหน้าจากแท็บ 'ห้องสมุด'
  • ตรวจสอบให้แน่ใจว่าคุณเลือกปุ่ม 'จับคู่' บนแถบเครื่องมือด้านบน
  • ป้อนรายละเอียดไฟล์ในแท็บ 'Grep' และเลือก 'บันทึกผลลัพธ์เป็นไฟล์เดียว'

คุณสามารถทดสอบ regex โดยวางส่วนของไฟล์ลงในแท็บ 'ทดสอบ'

  • กด 'เรียกใช้งาน' จากรายการ 'Grep' เพื่อเรียกใช้

ภาพหน้าจอ RegexBuddy


1
ฉันเพิ่งดาวน์โหลดมา แต่ GUI ดูเหมือนจะค่อนข้างซับซ้อน คุณบอกฉันได้แค่ 4 คะแนน ฉันต้องทำอะไรใน regexbuddy เพื่อให้ได้สิ่งที่ฉันต้องการ
กรงเล็บ

มันเป็นมนุษย์! ฉันอาจเป็นคนโง่ที่สุดในโลกที่ยังมีชีวิตอยู่ ฉันใช้ PowerGREP แทน Regex Buddy
กรงเล็บ


2

ฉันประหลาดใจที่ไม่มีใครสังเกตเห็นfindstrเลย มันมีการสนับสนุนการแสดงออกปกติอย่างน้อยพื้นฐานด้วย/rสวิตช์และมีอยู่ใน Windows ทุกรุ่นกึ่งล่าสุด (อย่างน้อยถึง 2000)


1
เป็นเพราะแทบไม่มีใครเคยได้ยินเกี่ยวกับเครื่องมือใหม่ ๆ ดูเหมือนว่า Microsoft กำลังพยายามซ่อนบรรทัดคำสั่งหรือบางอย่าง ...
Ignacio Vazquez-Abrams

2

ติดตั้งCygwinมันจะทำให้คุณมีสภาพแวดล้อมคล้ายยูนิกซ์ที่ใช้งานได้ดีบน windows จากนั้นเรียนรู้ grep พื้นฐาน, egrep, awk, sed หรือ perl เวลาลงทุนดีมาก ตัวอย่างเพียงไม่กี่:

# extract email addresses from text.txt to emails.txt
egrep -o '[[:alnum:].]+@[[:alnum:].]+' < text.txt > emails.txt
# extract third whitespace separated column from lines starting with "DEBUG"
awk '/^DEBUG/ { print $3 }' < text.txt > debug.txt
# replace multiple whitespace characters with one space
perl -pe 's/[\t ]+/ /g' < text.txt > clean.txt

1

เครื่องมือแก้ไขข้อความ Windows หลายรุ่น (แต่ไม่ใช่ notepad) มีฟังก์ชัน "ค้นหาในไฟล์" ซึ่งรองรับการแสดงผลปกติ

PowerShell มีSelect-Stringการจับคู่นิพจน์ปกติ

หรือgrepพอร์ตWindows

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