ฉันจะใช้ REGEXTRACT ใน Google ชีตเพื่อแยก GCLID ได้อย่างไร

Aug 18 2020

ฉันเป็นนักการตลาดและ Google กำหนดให้คลิก Google Click ID (GCLID) สำหรับการเข้าชมที่เสียค่าใช้จ่าย สิ่งเหล่านี้มาต่อท้าย URL บางครั้งฉันจำเป็นต้องแยกค่าใน Google ชีตโดยใช้ REGEX

นี่คือสิ่งที่ฉันได้ทำเพื่อแยก GCLID ใน Sublime Text แต่ไม่ได้ผลลัพธ์ที่คาดหวังใน Google ชีต:

(?<=gclid=).*?[?=A-Za-z0-9\-\_]{10,100}

อักขระที่เป็นตัวอักษรและตัวเลขคละกันโดยละเอียด 100 ตัวคือจำนวนสูงสุดสำหรับรหัสเหล่านี้ นอกจากนี้ยังประกอบด้วย "-" และ "_"

ฉันเชื่อว่านี่เป็นการใช้การมองย้อนกลับเชิงบวกของ REGEX อย่างมีประสิทธิภาพซึ่งให้ผลเพียง GCLID ที่ส่วนท้ายของข้อความค้นหา URL

การใช้?Google ชีตดูเหมือนจะทำลายนิพจน์

คำตอบ

1 WiktorStribiżew Aug 18 2020 at 16:07

คุณอาจใช้

=REGEXEXTRACT(A1, "gclid=([\w-]+)")

โปรดทราบว่าREGEXEXTRACTฟังก์ชันจะส่งคืนเฉพาะสตริงย่อยที่ถูกจับหากกำหนดกลุ่มการจับภาพในนิพจน์ทั่วไป

regex ตรงกัน

  • gclid= - สตริงตามตัวอักษร
  • ([\w-]+)- การจับกลุ่มที่ 1: ตัวอักษรตัวเลข_หรือ-(โปรดสังเกตว่า-ในตอนท้ายของคลาสอักขระไม่จำเป็นต้องมีการ Escape เพื่อแยกวิเคราะห์เป็นขีดกลางตามตัวอักษร)