บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ regex

การแก้ไขข้อความ ระหว่างคำ ในไฟล์ XML ด้วย Regular Expression

รูปภาพ
ในกรณีที่ต้องการเปลี่ยนแปลงข้อความใน text file เช่น  สมมุติว่า มีไฟล์ xml ดังข้างล่างนี้ ต้องการเปลี่ยน คำว่า "ข้อ 1" ซึ่งอยู่ระหว่าง <qNum> และ </qNum> เป็นอย่างอื่น เช่น <qNum>id1627193500:date1627453500</qNum> จะทำอย่างไร อย่างนี้ก็ต้องใช้ regular expression เข้ามาช่วย โดยใช้ lookbehind คือ (?<=) และ look ahead คือ (?=) เช่น (?<=<qNum>)(.*)(?=</qNum>) เครื่องหมาย () เป็นการจัดกลุ่ม ข้อความข้างต้น มี 3 กลุ่ม คือ  (?<=<qNum>) และ (.*) และ (?=</qNum>) ?<= คือ อะไรที่อยู่หลังส่วนนี้ <qNum> คือ ข้อความที่ระบุว่า ให้อยู่หลังอะไร .* คือ แทนอะไรก็ได้ ?= คือ อะไรที่อยู่ก่อนหน้าส่วนนี้ </qNum> คือ ข้อความที่ต้องการให้อยู่ก่อน อะไรก็ได้ที่อยู่ก่อนนี้ เพราะฉะนั้น ก็จะได้ว่า ส่วนที่จะให้แทนที่ คือ อะไรก็ได้ ที่อยู่หลัง <qNum> และ อยู่ก่อนคำว่า </qNum> ทีนี้ ปัญหาต่อไปคือ แล้วจะใช้ editor อะไร ที่จะใช้ regular expression นี้ ลองใช้ EditPlus ผลที่ได้ คือ ลองใช้ Microsoft Word ก็ไม่ได้เหมือนกัน แต่ มี ...