ใช่เป็นไปได้เราสามารถสร้างนิพจน์ทั่วไปจากตัวอย่าง (ข้อความ -> การแยกที่ต้องการ) นี่คือเครื่องมือออนไลน์ที่ใช้งานได้ซึ่งทำงาน: http://regex.inginf.units.it/
เครื่องมือออนไลน์ Regex Generator ++ สร้าง regex จากตัวอย่างที่ให้มาโดยใช้อัลกอริทึมการค้นหา GP อัลกอริทึม GP ถูกขับเคลื่อนโดยสมรรถภาพหลายวัตถุประสงค์ซึ่งนำไปสู่ประสิทธิภาพที่สูงขึ้นและโครงสร้างการแก้ปัญหาที่ง่ายขึ้น (Occam's Razor) เครื่องมือนี้เป็นแอปพลิเคชั่นสาธิตโดย Machine Lning Lab, Trieste Univeristy (Università degli studi di Trieste) กรุณาดูที่วิดีโอสอนที่นี่
นี้เป็นโครงการวิจัยเพื่อให้คุณสามารถอ่านเกี่ยวกับขั้นตอนวิธีการที่ใช้ที่นี่
นี่แน่ะ! :-)
การค้นหา regex / วิธีแก้ปัญหาที่มีความหมายจากตัวอย่างจะทำได้ก็ต่อเมื่อตัวอย่างที่ให้มานั้นอธิบายปัญหาได้ดี ลองพิจารณาตัวอย่างเหล่านี้ที่อธิบายถึงภารกิจการสกัดเรากำลังมองหารหัสรายการเฉพาะ ตัวอย่างคือคู่ข้อความ / การแยก:
"The product code is 467-345A" -> "467-345A"
"The item 789-345B is broken" -> "789-345B"
ผู้ชาย (มนุษย์) ที่ดูตัวอย่างอาจพูดว่า "รหัสไอเทมก็เหมือนกับ \ d ++ - 345 [AB]"
เมื่อรหัสสินค้าได้รับอนุญาตมากขึ้น แต่เราไม่ได้ให้ตัวอย่างอื่น ๆ เรายังไม่มีข้อพิสูจน์ว่าเข้าใจปัญหาได้ดี เมื่อใช้โซลูชันที่มนุษย์สร้างขึ้น \ d ++ - 345 [AB] กับข้อความต่อไปนี้จะล้มเหลว:
"On the back of the item there is a code: 966-347Z"
คุณต้องให้ตัวอย่างอื่น ๆ เพื่อที่จะอธิบายได้ดีขึ้นว่าอะไรคือการจับคู่และสิ่งที่ไม่ใช่การจับคู่ที่ต้องการ: --ie:
"My phone is +39-128-3905 , and the phone product id is 966-347Z" -> "966-347Z"
หมายเลขโทรศัพท์ไม่ใช่รหัสผลิตภัณฑ์ซึ่งอาจเป็นหลักฐานสำคัญ