Notepad++ Expression เพื่อเปลี่ยนข้อความตามความต้องการ

ฉันมีไฟล์ข้อความและฉันใช้ Notepad ++ และข้อความมีลักษณะดังนี้:

42105-100 - 42110-131
42200-100 - 42221-131
42400-100 - 42400-131
42550-100 - 42550-131
55000-100 - 55000-131 

ตอนนี้ฉันต้องการนิพจน์ทั่วไปเพื่อแปลงข้อความนี้เป็น

OR ( FromAccount = 42105 AND FromBranch= 100  AND ToAccount = 42110 AND ToBranch = 131)
OR ( FromAccount = 42200 AND FromBranch= 100  AND ToAccount = 42221 AND ToBranch = 131)
OR ( FromAccount = 42400 AND FromBranch= 100  AND ToAccount = 42400 AND ToBranch = 131)
OR ( FromAccount = 42550 AND FromBranch= 100  AND ToAccount = 42550 AND ToBranch = 131)
OR ( FromAccount = 55000 AND FromBranch= 100  AND ToAccount = 55000 AND ToBranch = 131)

ฉันรู้ว่าสิ่งนี้เป็นไปได้โดยการสร้างนิพจน์ทั่วไปแล้วคลิกปุ่ม "แทนที่ทั้งหมด" แต่ปัญหาคือฉันไม่สามารถสร้างนิพจน์นี้ได้

โปรดช่วยฉันสร้างสำนวนนี้


person Community    schedule 02.12.2016    source แหล่งที่มา


คำตอบ (1)


คุณสามารถใช้

^(\d{5})-(\d{3}) - (\d{5})-(\d{3})$

และแทนที่ด้วย OR \( FromAccount = $1 AND FromBranch= $2 AND ToAccount = $3 AND ToBranch = $4\)

รายละเอียด:

  • ^ - จุดเริ่มต้นของบรรทัด
  • (\d{5}) - กลุ่ม 1 ($1): 5 หลัก
  • - - ยัติภังค์
  • (\d{3}) - กลุ่ม 2 ($2): 3 หลัก
  • - - ยัติภังค์ภายในช่องว่าง
  • (\d{5}) - กลุ่ม 3 ($3): 5 หลัก
  • - - ยัติภังค์
  • (\d{3}) - กลุ่ม 4 ($4): 3 หลัก
  • $ - สิ้นสุดบรรทัด

ในการแทนที่ ( และ ) จะต้องถูกหลีก

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

person Wiktor Stribiżew    schedule 02.12.2016
comment
หากคำตอบของฉันเหมาะกับคุณ โปรดพิจารณายอมรับคำตอบโดยคลิกที่ ✓ ทางด้านซ้าย (ดู วิธียอมรับคำตอบ SO) และโหวตว่าคำตอบของฉันมีประโยชน์กับคุณหรือไม่ (ดู จะโหวตบน Stack Overflow ได้อย่างไร) - person Wiktor Stribiżew; 05.12.2016