ไทย

เครื่องมือข้อความและชีวิตประจำวัน · ชุดเครื่องมือข้อความ

URL และการแยกอีเมลรู้ได้อย่างไรว่าที่อยู่สิ้นสุดที่ใด

· มันทำงานอย่างไร

การแยกข้อความ URL ที่อยู่อีเมล

บันทึกการประชุมที่มี URL และการจับคู่อีเมลที่ตรงกัน โดยแยกออกจากเครื่องหมายวรรคตอนโดยรอบ
ภาพประกอบเวกเตอร์ต้นฉบับ ToolAcre

ดูการตัดสินใจที่ยากลำบากสองครั้งในการแยกลิงก์และที่อยู่ออกจากร้อยแก้ว โดยที่ URL หยุด และรูปแบบอีเมลควรเข้มงวดเพียงใด และเหตุใดรูปแบบเชิงปฏิบัติจึงเหนือกว่าไวยากรณ์ RFC แบบเต็มในข้อความจริง

ลิงก์ที่มีการติดกาวเต็มจุด — เหตุใดการแยกแบบไร้เดียงสาจึงส่งคืน https://example.com. และหยุดลิงก์

บันทึกการประชุมมักจะใส่ลิงก์ที่มีประโยชน์ไว้ท้ายประโยค: `Agenda: https://example.com/roadmap.` การค้นหาที่ยอมรับอักขระทุกตัวที่ไม่เว้นวรรคจะรวมจุดสุดท้ายด้วย ข้อความที่มองเห็นดูสมเหตุสมผล แต่ค่าที่แยกออกมาไม่ตรงกับที่อยู่ที่ผู้เขียนตั้งใจจะแชร์หรือกลับมาดูอีกต่อไป

ToolAcre ค้นหาลำดับ HTTP หรือ HTTPS ก่อน จากนั้นจึงลบจุดต่อท้าย จุลภาค อัฒภาค ทวิภาค เครื่องหมายอัศเจรีย์ และเครื่องหมายคำถาม การล้างข้อมูลถูกแนบไว้กับขอบเขตการจับคู่โดยเจตนา แทนที่จะนำไปใช้กับเอกสาร เครื่องหมายวรรคตอนในส่วนอื่นของ URL จะยังคงใช้ได้เมื่อรูปแบบเริ่มต้นอนุญาต

ลิงก์ที่มีเครื่องหมายจุด: เหตุใดการดึงข้อมูลจึงต้องยกเว้นเครื่องหมายวรรคตอนต่อท้าย

รูปแบบ URL เริ่มต้นที่ `http://` หรือ `https://` เท่านั้น และดำเนินต่อไปจนกว่าช่องว่างหรือตัวคั่นปิดตัวใดตัวหนึ่งจะปรากฏขึ้น เครื่องหมายคำพูด วงเล็บเหลี่ยม วงเล็บปิด และวงเล็บเหลี่ยมปิด ทั้งหมดจะหยุดการจับคู่ กฎนั้นอนุญาตให้ร้อยแก้วเช่น `(https://example.com/notes)` ส่งคืนที่อยู่โดยไม่มีวงเล็บล้อมรอบ

นี่เป็นกฎขอบเขตที่ใช้งานได้จริง ไม่ใช่ตัวแยกวิเคราะห์ทั่วไปสำหรับทุก URI ที่เป็นไปได้ วงเล็บเปิดสามารถยังคงอยู่ในการแข่งขันในขณะที่วงเล็บปิดยุติการแข่งขัน ดังนั้นที่อยู่ที่มีเส้นทางของตัวเองมีอักขระนั้นจริงๆ อาจสั้นลง ตัวแยกข้อมูลสนับสนุนขอบเขตร้อยแก้วทั่วไปและทิ้งกรณีที่ผิดปกติไว้สำหรับการตรวจสอบด้วยตนเอง

การจับคู่อีเมลควรเข้มงวดเพียงใด — สิ่งที่ RFC 5322 อนุญาตในทางเทคนิค และเหตุใดการจับคู่ทั้งหมดจึงให้ผลลัพธ์ที่แย่ลงกับข้อความจริง

การแยกอีเมลทำให้เกิดการแลกเปลี่ยนที่คล้ายคลึงกัน ค้นหาตัวอักษร ตัวเลข และเครื่องหมายวรรคตอนในกล่องจดหมายที่คุ้นเคยก่อน `@` จากนั้นลำดับที่เหมือนโดเมนตามด้วยจุดและตัวอักษรอย่างน้อยสองตัว รูปแบบดังกล่าวจะจับที่อยู่ทั่วไปที่ฝังอยู่ในบันทึกย่อโดยไม่ต้องพยายามสร้างทุกโครงสร้างที่ยอมรับโดยไวยากรณ์อีเมลแบบเต็ม

รูปแบบที่แคบกว่านั้นมีประโยชน์เนื่องจากการดึงข้อมูลและการตรวจสอบความถูกต้องจะตอบคำถามที่ต่างกัน การดึงข้อมูลจะระบุรายละเอียดการติดต่อที่เป็นไปได้ในข้อความที่ไม่มีโครงสร้าง ไม่ได้ระบุว่ามีกล่องจดหมายอยู่แล้ว รับจดหมาย หรือเป็นของบุคคลที่ระบุชื่อ ถือว่าผลลัพธ์เป็นรายการที่สามารถตรวจทานได้ โดยเฉพาะอย่างยิ่งเมื่อมีเครื่องหมายวรรคตอนหรือไวยากรณ์กล่องจดหมายที่ไม่ธรรมดาปรากฏขึ้นในบริเวณใกล้เคียง

การขจัดความซ้ำซ้อนและการเรียงลำดับ — หนึ่งสำเนาของแต่ละที่อยู่ ตามลำดับที่ปรากฏครั้งแรก ดังนั้นรายการจึงสะท้อนแหล่งที่มา

สำหรับ URL และที่อยู่อีเมล ToolAcre จะลบรายการที่ซ้ำกันด้วย `Set` JavaScript ชุดยังคงลำดับการแทรก ดังนั้นรายการแรกจะกำหนดว่ารายการจะปรากฏที่ใดในผลลัพธ์ และรายการที่ตรงกันในภายหลังจะหายไป ผลลัพธ์จึงติดตามแหล่งที่มาจากบนลงล่าง แทนที่จะเรียงตามตัวอักษรของผู้ติดต่อหรือลิงก์โดยไม่ได้รับอนุญาต

ความเท่าเทียมกันนั้นแน่นอน `https://example.com` และ `https://example.com/` ยังคงแยกจากกัน เช่นเดียวกับที่อยู่อีเมลที่มีตัวพิมพ์ต่างกัน ตัวแยกข้อมูลจะไม่ทำให้โดเมนเป็นมาตรฐาน ลบส่วนย่อย URL หรือตัดสินใจว่าปลายทางสองแห่งนั้นเทียบเท่ากัน การเปลี่ยนแปลงเหล่านั้นอาจรวมข้อความที่แตกต่างกันโดยเจตนา ดังนั้นการทำให้เป็นมาตรฐานเพิ่มเติมใดๆ จะอยู่ในขั้นตอนการตรวจสอบแยกต่างหาก

ตัวเลขเช่นกัน — การดึงค่าตัวเลขออกมาจากร้อยแก้ว และเหตุใดตัวคั่นทศนิยมและหลักพันจึงทำให้ 'ตัวเลข' ชัดเจนน้อยกว่าที่คิด

การแยกตัวเลขยอมรับเครื่องหมายลบเสริม ตัวเลขตั้งแต่หนึ่งหลักขึ้นไป และส่วนทศนิยมเสริมที่เติมด้วยจุด มันสามารถดึง `-12`, `48` และ `3.75` จากร้อยแก้วได้ ซึ่งแตกต่างจาก URL และการดึงข้อมูลอีเมล โดยจะส่งคืนทุกรายการที่ตรงกันโดยตรง ดังนั้นค่าที่ซ้ำกันจะยังคงถูกทำซ้ำและคงจำนวนการเกิดไว้

แบบฟอร์มที่จัดกลุ่มและแปลเป็นภาษาท้องถิ่นเผยให้เห็นขีดจำกัดของกฎฉบับย่อนั้น `1,250` ส่งคืนเป็น `1` และ `250` ในขณะที่ `3,5` ก็ถูกแยกเช่นกัน แทนที่จะตีความว่าเป็นลูกน้ำทศนิยม เครื่องหมายสกุลเงิน เลขชี้กำลัง และเครื่องหมายบวกนำหน้าไม่เป็นส่วนหนึ่งของการจับคู่ อ่านข้อความใกล้เคียงก่อนกำหนดความหมายให้กับตัวเลขที่แยกออกมา

ตัวเลขด้วย: จำนวนเต็มและทศนิยมที่มีเครื่องหมาย โดยไม่ถือว่าค่าที่จัดกลุ่มเป็นตัวเลขเดียว

ลองใช้บันทึกย่อเหล่านี้: `Email sam@example.com, then review https://example.com/plan. Backup: sam@example.com. Budget -12.5; seats 24. Reference (https://example.com/help).` แยกอีเมลส่งคืน `sam@example.com` หนึ่งฉบับ แยก URL ส่งคืนแผนและวิธีใช้ที่อยู่โดยไม่มีเครื่องหมายหยุดเต็มประโยคหรือวงเล็บปิดตามลำดับนั้น

การสแกนด้วยตนเองควรพบลักษณะอีเมลสองลักษณะ แต่มีผลลัพธ์อีเมลที่ไม่ซ้ำหนึ่งลักษณะ ลักษณะ URL ที่แตกต่างกันสองลักษณะ และหมายเลขที่ตรงกันสองรายการ แยกตัวเลขส่งคืน `-12.5` และ `24`; ตัวเลขภายในโดเมนตัวอย่างไม่เพิ่มรายการที่ตรงกันเนื่องจากไม่มีอยู่ การตรวจสอบนี้จะแยกการนับเหตุการณ์ออกจากรายชื่อผู้ติดต่อและลิงก์ที่ซ้ำกัน

สิ่งนี้ไม่ครอบคลุมถึง — การตรวจสอบว่ามีที่อยู่จริง และที่อยู่แปลกใหม่แต่ถูกต้องซึ่งรูปแบบเชิงปฏิบัติพลาดไป

อีเมลที่ตรงกันเป็นเพียงข้อความที่มีรูปร่างเหมือนรูปแบบที่นำไปใช้เท่านั้น ToolAcre จะไม่ค้นหาเซิร์ฟเวอร์อีเมล ส่งข้อความทดสอบ หรือตรวจสอบบันทึกโดเมน การพิมพ์ผิดที่ดูน่าเชื่อถือสามารถผ่านการดึงออกมาได้ ในขณะที่ที่อยู่ที่ไม่ปกติแต่ใช้งานได้อาจพลาดได้ ยืนยันผู้ติดต่อที่สำคัญผ่านช่องทางที่เชื่อถือได้ที่เหมาะสมก่อนที่จะอาศัยรายชื่อ

การแยก URL ก็ไม่ได้ร้องขอเพจ ติดตามการเปลี่ยนเส้นทาง หรือทดสอบว่าปลายทางนั้นปลอดภัยหรือพร้อมใช้งานหรือไม่ นอกจากนี้ยังต้องมีคำนำหน้า HTTP หรือ HTTPS อย่างชัดเจน ดังนั้น `example.com` แบบเปลือยจะไม่ถูกส่งคืน ขีดจำกัดเหล่านี้ทำให้การดึงข้อมูลเป็นแบบท้องถิ่นและคาดเดาได้ แต่ทำให้การตรวจสอบโดยเจ้าหน้าที่เป็นส่วนหนึ่งของขั้นตอนการทำงานที่ตามมา

ข้อดี — ปุ่มแยกข้อมูลของ Text Toolkit ทำให้การแลกเปลี่ยนเหล่านี้ชัดเจนและให้รายการที่ซ้ำกันและสะอาดในเบราว์เซอร์ของคุณ

ปุ่มแยกเปลี่ยนบล็อกร้อยแก้วแบบผสมให้เป็นการจับคู่ที่แยกบรรทัดใหม่ในเบราว์เซอร์ URL และอีเมลใช้รูปแบบเชิงปฏิบัติ ตัดหรือหยุดที่ขอบเขตร้อยแก้วทั่วไป และส่งคืนค่าที่ไม่ซ้ำตามลำดับที่เห็นครั้งแรก ตัวเลขใช้รูปแบบทศนิยมที่มีลายเซ็นน้อยกว่าและเก็บค่าที่ซ้ำกันไว้ ซึ่งสะท้อนถึงสัญญาการทำงานที่แตกต่างกัน แทนที่จะเป็นนโยบายการแยกข้อมูลสากล

วางเฉพาะบันทึกย่อที่คุณต้องการ เรียกใช้แยก URL และแยกอีเมลแยกกัน และเปรียบเทียบแต่ละรายการกับแหล่งที่มาก่อนที่จะคัดลอกต่อไป ผลลัพธ์ที่ชัดเจนจะช่วยขจัดการสแกนซ้ำๆ ในขณะที่ขอบเขตที่บันทึกไว้จะแสดงจุดที่จำเป็นต้องพิจารณา สำหรับไวยากรณ์ที่ผิดปกติ ให้เก็บข้อความต้นฉบับไว้ข้างผลลัพธ์ที่แยกออกมาในระหว่างการตรวจสอบ