سيؤدي تعديل زر التحكم إلى إعادة تحميل هذه الصفحة تلقائيًا

REGEX.EXTRACT

تُرجع دالة REGEX.EXTRACT التطابقات أو مجموعات الالتقاط الموجودة في تطابق لتعبير اعتيادي معين في سلسلة مصدر.

REGEX.EXTRACT(السلسلة-المصدر‏; سلسلة-تعبير-اعتيادي‏; حالة-التطابق‏; حالة-مجموعة-الالتقاط)

السلسلة-المصدر: قيمة السلسلة التي ستتم المطابقة بها.

سلسلة-تعبير-اعتيادي: قيمة سلسلة تمثل تعبيرًا اعتياديًا، تُستخدم للمطابقة مع السلسلة-المصدر.

حالة-التطابق: عدد صحيح اختياري يشير إلى مجموعة الالتقاط التي ينبغي إرجاعها، في حالة وجود تطابقات متعددة. تُقبل الأعداد الصحيحة السالبة ويُسمح بالوصول إلى التطابقات بشكل عكسي، ولذلك فإن -1 هو التطابق الأخيرة، وهكذا. إذا تم إعطاء القيمة 0، يتم إرجاع مصفوفة من جميع التطابقات. في حالة حذفها، ينتج إرجاع التطابق الأول.

حالة-مجموعة-الالتقاط: عدد صحيح اختياري يشير إلى مجموعة الالتقاط الموجودة في تطابق ما والتي ينبغي إرجاعها، في حالة وجود مجموعات التقاط في التعبير الاعتيادي. لا تُقبل القيم السالبة. إذا تم إرجاع القيمة 0، يتم إرجاع مصفوفة من جميع مجموعات الالتقاط. في حالة حذفها، ينتج إرجاع التطابق بالكامل.

ملاحظات

  • يجب أن تتطابق سلسلة-تعبير-اعتيادي مع معيار ICU.

أمثلة

إذا كانت لديك بيانات لا تتناسب بسهولة مع صفوف وأعمدة جدول البيانات، يمكنك استخدام REGEX.EXTRACT للتبسيط. على سبيل المثال، في الجدول أدناه، تحتوي البيانات على بعض البنية، ولكن قد يكون من الصعب فصل البيانات يدويًا إلى خلايا متعددة لكل مراجعة.

A

1

مراجعات المستخدم

2

البريد الإلكتروني: jtalma@icloud.com الاسم: Julie Talma التاريخ: 05/17/2021

3

البريد الإلكتروني: danny_rico@icloud.com الاسم: Danny Rico التاريخ: 06/02/2021

لإصلاح ذلك، يمكنك إضافة المزيد من الأعمدة إلى الجدول لكل من الاسم والبريد الإلكتروني والتصنيف والتاريخ، ثم استخدام REGEX.EXTRACT للعثور على البيانات التي تريدها وإرجاعها في الخلية.

على سبيل المثال، يمكنك إدخال الصيغة التالية لإرجاع اسم:

محرر الصيغ يعرض الصيغة =REGEX.EXTRACT‏(A2‏;"‏(?<=Name: )‏(.*)‏(?= Date)"‎.

في هذه الصيغة، تُستخدم الوسيطات التالية:

  • السلسلة-المصدر: A2، الخلية التي تحتوي على البيانات التي تريد البحث عن اسم لها.

  • سلسلة-تعبير-اعتيادي: ‎"‏(?<=الاسم: )‏(.*)‏(?=التاريخ)"، تعبير اعتيادي يبحث عن نص بين السلسلة "الاسم: " و"التاريخ".

يمكن تكرار هذه الصيغة لكل صف من البيانات لإرجاع اسم كل شخص مشارك في الاستبيان عن طريق تغيير سلسلة-المصدر لمطابقة الخلايا الأخرى التي تحتوي على معلومات مراجعة المستخدم.

لإصلاح ذلك، يمكنك إضافة المزيد من الأعمدة إلى الجدول لكل من الاسم والبريد الإلكتروني والتصنيف والتاريخ، ثم استخدام REGEX.EXTRACT للعثور على البيانات التي تريدها وإرجاعها في الخلية.

على سبيل المثال، يمكنك إدخال الصيغة التالية:

محرر الصيغ يعرض الصيغة =REGEX.EXTRACT‏(A2‏;"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2‏;4}")‎

في هذه الصيغة، تُستخدم الوسيطات التالية:

  • السلسلة-المصدر: A2، الخلية التي تحتوي على البيانات التي تريد البحث عن بريد إلكتروني لها.

  • سلسلة-تعبير-اعتيادي: ‎"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}"، تعبير اعتيادي يبحث عن نمط عنوان بريد إلكتروني.

إعادة تنظيم البيانات من القائمة باستخدام حالة-التطابق

في بعض الأحيان، قد تكون لديك بيانات مثل الجدول (بعنوان الموردون) أدناه، والذي يجمع القيم معًا في خلية:

المورّد

الصنف

A

عدس، فاصولياء، لوبياء

B

تفاح، برتقال، ليمون

C

كينوا، أرز، شيا

لفصل القيم بناءً على المتجر والترتيب، يمكنك أولاً إنشاء جدول جديد، مثل الجدول أدناه:

A

B

C

D

1

الرتبة

A

B

C

2

1

3

2

4

3

لإرجاع قيمة العدس، الصنف الأعلى رتبة للمورد A، يمكنك استخدام صيغة مثل هذه في الخلية B2 بالجدول الجديد لإرجاع قيمة العدس، الصنف الأعلى رتبة للمورد A:

محرر الصيغ يعرض الصيغة =REGEX.EXTRACT‏(Suppliers::B2‏;"\w+"‏;ROW‏(A2)-1)‎.

في هذه الصيغة، تُستخدم الوسيطات التالية:

  • السلسلة-المصدر: الموردون::B2، الخلية التي تحتوي على البيانات التي تريد البحث عنها. في هذه الحالة، تريد إجراء بحث القائمة في هذه الخلية.

  • سلسلة-تعبير-اعتيادي: ‎"\w+"‎، تعبير اعتيادي يبحث عن كلمة.

  • حالة-التطابق: ROW(A2)-1. في هذه الحالة، هناك 3 تطابقات لكل REGEX.EXTRACT، ويمكنك استخدام دالة أخرى مثل ROW لتعيين التطابق المحدد الذي تريده. تُرجع ROW‏(A2) رقم صف الخلية المحددة (2)، ويتم تضمين -1 لطرح صف الرأس من النتيجة‏; وإلا ستقوم بإرجاع قيمة الفاصولياء (التطابق الثاني) في هذا المثال.

    إذا حذفت حالة-التطابق، فستكون النتيجة لكل مورّد دائمًا هي الكلمة الأولى التي يتم إرجاعها (العدس للمورّد A، التفاح للمورّد B، وهكذا).

يمكن بسهولة تعديل الصيغة الواردة أعلاه لإكمال الجدول للموردين الآخرين والأصناف الأخرى.

  • لإرجاع المنتجات الشائعة الأخرى لمورّد واحد، يمكنك تعديل حالة-التطابق. على سبيل المثال، لإرجاع قيمة الفاصولياء، الصنف التالي الأكثر شيوعًا للمورد A، يمكنك تغيير مرجع الخلية في حالة-التطابق من A2 إلى A3.

  • لإرجاع القيم الخاصة بمورد آخر، يمكنك تعديل سلسلة-المصدر. على سبيل المثال، لإرجاع قيمة التفاح، الصنف الأكثر شيوعًا للمورد B، يمكنك تغيير مرجع الخلية في سلسلة-المصدر من B2 إلى B3.

أمثلة إضافية

لتكن الخلية A1 ‏"marina@example.com john@example.ca mike@example.de".

=REGEX.EXTRACT‏(A1‏; "‏([A-Z0-9a-z._%+-]+)@‏([A-Za-z0-9.-]+\.[A-Za-z]{2‏;4})") تُرجع "marina@example.com".

=REGEX.EXTRACT‏(A1‏; "‏([A-Z0-9a-z._%+-]+)@‏([A-Za-z0-9.-]+\.[A-Za-z]{2‏;4})"‏;2) تُرجع "john@example.ca".

=REGEX.EXTRACT‏(A1‏; "‏([A-Z0-9a-z._%+-]+)@‏([A-Za-z0-9.-]+\.[A-Za-z]{2‏;4})"‏; -1) تُرجع "mikeexample.de".

=REGEX.EXTRACT‏(A1‏; "‏([A-Z0-9a-z._%+-]+)@‏([A-Za-z0-9.-]+\.[A-Za-z]{2‏;4})"‏; 1‏; 1) تُرجع "marina".

=REGEX.EXTRACT‏(A1‏; "‏([A-Z0-9a-z._%+-]+)@‏([A-Za-z0-9.-]+\.[A-Za-z]{2‏;4})"‏;2‏;2) تُرجع "example.ca".

انظر أيضًاREGEX
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
هل كان هذا مفيدًا؟
الحد الأقصى للأحرف: 250
الحد الأقصى للأحرف 250.
شكرًا على ملاحظاتك.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.