ฟังก์ชัน 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) |
ภาพประกอบต่อไปนี้แสดงผลลัพธ์
ตัวอย่าง 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) |
ภาพประกอบต่อไปนี้แสดงผลลัพธ์