ฟังก์ชัน REGEXTEST

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

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

ไวยากรณ์

ฟังก์ชัน REGEXTEST จะกําหนดว่าส่วนใดของข้อความตรงกับรูปแบบหรือไม่

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

REGEXTEST(text, pattern, [case_sensitivity])

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

หมายเหตุ

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

  • "[0-9]": ตัวเลขใดก็ได้
  • "[a-z]": อักขระในช่วงตั้งแต่ A ถึง Z
  • ".": อักขระใดก็ได้
  • "a": อักขระ "a"
  • "a*": ศูนย์หรือมากกว่า "a"
  • "A+": "A" อย่างน้อยหนึ่งตัว
  • นิพจน์ทั่วไปทั้งหมดสําหรับฟังก์ชันนี้ รวมถึง REGEXEXTRACT และ REGEXREPLACE ใช้ 'flavor' PCRE2 ของ regex
  • REGEXEXTRACT จะส่งกลับค่าข้อความเสมอ คุณสามารถแปลงผลลัพธ์เหล่านี้กลับไปเป็นตัวเลขได้ด้วยฟังก์ชัน VALUE

ตัวอย่าง

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

ตัวอย่าง 1

ตรวจสอบด้านต่างๆ ของสตริง 'alfalfa'

ข้อมูล  
อัลฟัลฟา
สูตร คำถาม
=REGEXTEST(A2,"a") มีตัวอักษร 'a' หรือไม่
=REGEXTEST(A2,"[a-z]") มีตัวอักษรพิมพ์เล็กหรือไม่?
=REGEXTEST(A2,"[A-Z]") มีอักษรตัวพิมพ์ใหญ่หรือไม่?
=REGEXTEST(A2,"[aeiou]") มันมีสระใด ๆ หรือไม่?
=REGEXTEST(A2,"[0-9]") มีตัวเลขหลักหรือไม่?

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

การใช้ REGEXTEXT เพื่อตอบคําถามต่างๆ เกี่ยวกับคําว่า alfalfa

ตัวอย่าง 2

ตรวจสอบว่าหมายเลขโทรศัพท์มีรูปแบบเฉพาะ "(###) ###-####" โดยใช้รูปแบบ:

"^\([0-9]{3}\) [0-9]{3}-[0-9]${4}"

หมายเหตุ

เครื่องหมายทับขวา "\" ใช้เพื่อ 'หลีก' วงเล็บ "()" และอักขระอื่นๆ บางตัว ในรูปแบบนี้ "\(" จะถูกตีความเป็น "(" และ "\)" ถูกตีความเป็น ")"

ข้อมูล
(378) 555-4195
+1(878) 555-8622
สูตร
=REGEXTEST(A2,"^\([0-9]{3}\) [0-9]{3}-[0-9]${4}")
=REGEXTEST(A2,"^\([0-9]{3}\) [0-9]{3}-[0-9]${4}")

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

ใช้ REGEXTEST เพื่อตรวจสอบว่าหมายเลขโทรศัพท์อยู่ในไวยากรณ์ที่เฉพาะเจาะจงหรือไม่ โดยมีรูปแบบ ^\([0-9]{3}\) [0-9]{3}-[0-9]${4}