ฟังก์ชัน 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 ใช้ 'รสชาติ' PCRE2 ของ regex

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

ตัวอย่าง

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

ตัวอย่าง 1

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

ข้อมูล
DylanWilliams
สูตร
=REGEXEXTRACT(A2,"[A-Z][a-z]+")
=REGEXEXTRACT(A2,"[A-Z][a-z]+",1)

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

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

ตัวอย่าง 2

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

ข้อมูล
Sonia Rees (378) 555-4195
แองเจิล บราวน์ (878) 555-8622
เบลค มาร์ติน (437) 555-8987
วิลเลี่ยม เคอร์บี้ (619) 555-4212
Avery Smith (579) 555-5658
Parker Jones (346) 555-0925
เลียมขนาดเล็ก (405) 555-0887
Hollie Rees (666) 555-1872
สูตร
=REGEXEXTRACT(A2,"[0-9()]+ [0-9-]+",1)

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

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