5
สามารถกำหนดรูปแบบ csv โดย regex ได้หรือไม่?
เพื่อนร่วมงานและฉันเพิ่งจะถกเถียงกันว่า regex บริสุทธิ์นั้นมีความสามารถในการห่อหุ้มรูปแบบ csv อย่างเต็มที่หรือไม่ซึ่งมันสามารถแยกวิเคราะห์ไฟล์ทั้งหมดด้วย escape char ที่ระบุไว้, ถ่าน char และถ่านคั่น regex ไม่จำเป็นต้องสามารถเปลี่ยน chars เหล่านี้หลังจากการสร้าง แต่จะต้องไม่ล้มเหลวในกรณี edge อื่น ๆ ฉันได้แย้งว่านี่เป็นไปไม่ได้สำหรับแค่ tokenizer regex เดียวที่อาจทำสิ่งนี้เป็นรูปแบบ PCRE ที่ซับซ้อนมากซึ่งเคลื่อนไปไกลกว่าเพียงแค่โทเค็น ฉันกำลังมองหาบางอย่างตามแนวของ: ... รูปแบบ csv เป็นบริบทไวยากรณ์ฟรีและเป็นไปไม่ได้ที่จะแยกวิเคราะห์ด้วย regex เพียงอย่างเดียว ... หรือฉันผิด เป็นไปได้หรือไม่ที่จะแยก csv ด้วย POSIX regex? ตัวอย่างเช่นถ้าทั้ง char char และ quote char อยู่"ดังนั้นทั้งสองบรรทัดนี้จะเป็น csv ที่ถูกต้อง: """this is …