ฟังก์ชัน REGEXEXTRACT

นำไปใช้กับ
Excel for Microsoft 365 Excel for Microsoft 365 for Mac

ฟังก์ชัน REGEXEXTRACT ช่วยให้คุณสามารถแยกข้อความจากสตริงโดยยึดตามนิพจน์ปกติที่ระบุ คุณสามารถแยกรายการที่ตรงกันแรก รายการที่ตรงกันทั้งหมด หรือการบันทึกกลุ่มจากรายการที่ตรงกันแรกได้

ไวยากรณ์

ฟังก์ชัน REGEXEXTRACT จะแยกสตริงภายในข้อความที่ระบุที่ตรงกับรูปแบบ

ไวยากรณ์ของฟังก์ชัน REGEXEXTRACT คือ

REGEXEXTRACT(text, pattern, [return_mode], [case_sensitivity])

อาร์กิวเมนต์ คำอธิบาย
text
(ต้องระบุ)
ข้อความหรือการอ้างอิงไปยังเซลล์ที่มีข้อความที่คุณต้องการแยกสตริงออกมา
รูปแบบ
(ต้องระบุ)
นิพจน์ทั่วไป ("regex") ที่อธิบายรูปแบบของข้อความที่คุณต้องการแยก
return_mode ตัวเลขที่ระบุสตริงที่คุณต้องการแยก ตามค่าเริ่มต้น โหมดย้อนกลับจะเป็น 0 ค่าที่เป็นไปได้คือ:
0: ส่งกลับสตริงแรกที่ตรงกับรูปแบบ
1: ส่งกลับสตริงทั้งหมดที่ตรงกับรูปแบบเป็นอาร์เรย์
2: ส่งกลับการจับกลุ่มจากรายการที่ตรงกันแรกเป็นอาร์เรย์
หมายเหตุ: การจับภาพกลุ่มเป็นส่วนหนึ่งของรูปแบบ regex ที่ล้อมรอบด้วยวงเล็บ "(...)" ซึ่งช่วยให้คุณสามารถส่งคืนส่วนแยกกันของแมตช์เดียวได้
case_sensitivity กําหนดว่ารายการที่ตรงกันตรงตามตัวพิมพ์ใหญ่-เล็กหรือไม่ ตามค่าเริ่มต้น การจับคู่จะเป็นแบบตรงตามตัวพิมพ์ใหญ่-เล็ก ใส่อย่างใดอย่างหนึ่งต่อไปนี้:
0: ตรงตามตัวพิมพ์ใหญ่-เล็ก
1: ไม่ตรงตามตัวพิมพ์ใหญ่-เล็ก

หมายเหตุ

  • รูปแบบที่ง่ายที่สุดคือข้อความสัญพจน์ที่คุณต้องการจับคู่ ตัวอย่างเช่น เมื่อต้องการจับคู่ข้อความ "จับคู่ฉัน" คุณสามารถใช้รูปแบบ "จับคู่ฉัน"

  • สัญลักษณ์ที่เรียกว่า 'โทเค็น' ยังสามารถใช้กับอักขระที่หลากหลายได้ ต่อไปนี้เป็นโทเค็นง่ายๆ สําหรับการอ้างอิง:

  • "[0-9]": ตัวเลขใดก็ได้

  • "[a-z]": อักขระในช่วงตั้งแต่ A ถึง Z

  • ".": อักขระใดก็ได้

  • "a": อักขระ "a"

  • "a*": ศูนย์หรือมากกว่า "a"

  • "A+": "A" อย่างน้อยหนึ่งตัว

  • นิพจน์ทั่วไปทั้งหมดสําหรับฟังก์ชันนี้ รวมถึง REGEXTEST และ REGEXREPLACE จะใช้ 'flavor' PCRE2 ของ regex

  • REGEXEXTRACT จะส่งกลับค่าข้อความเสมอ คุณสามารถแปลงผลลัพธ์เหล่านี้กลับไปเป็นตัวเลขได้ด้วยฟังก์ชัน VALUE

ตัวอย่าง

คัดลอกข้อมูลตัวอย่างและวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ ถ้าคุณต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมดได้

ตัวอย่าง 1

แยกชื่อตามตัวพิมพ์ใหญ่ที่มีรูปแบบ "[A-Z][a-z]+"

ข้อมูล
ดีแลนวิลเลียมส์
สูตร
=REGEXEXTRACT(A2,"[A-Z][a-z]+")
=REGEXEXTRACT(A2,"[A-Z][A-z]+",1)

ภาพประกอบต่อไปนี้แสดงผลลัพธ์

REGEXEXTRACT ใช้เพื่อแยกข้อมูลชื่อโดยใช้รูปแบบ [A-Z][a-z]+

ตัวอย่าง 2

แยกหมายเลขโทรศัพท์ตามโครงสร้างด้วยรูปแบบ "[0-9()]+ [0-9-]+"

ข้อมูล
โซเนีย รีส (378) 555-4195
แองเจิล บราวน์ (878) 555-8622
เบลค มาร์ติน (437) 555-8987
วิลเลียม เคอร์บี้ (619) 555-4212
เอเวอรี่ สมิธ (579) 555-5658
ปาร์คเกอร์โจนส์ (346) 555-0925
เลียมสมอล (405) 555-0887
ฮอลลี่ รีส (666) 555-1872
สูตร
=REGEXEXTRACT(A2,"[0-9()]+ [0-9-]+",1)

ภาพประกอบต่อไปนี้แสดงผลลัพธ์

REGEXEXTRACT ใช้เพื่อแยกหมายเลขโทรศัพท์หลายหมายเลขของรูปแบบเฉพาะจากข้อความผสม โดยใช้รูปแบบ [0-9()]+ [0-9-]+