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 للعثور على البيانات التي تريدها وإرجاعها في الخلية. على سبيل المثال، يمكنك إدخال الصيغة التالية: في هذه الصيغة، تُستخدم الوسيطات التالية:
|
إعادة تنظيم البيانات من القائمة باستخدام حالة-التطابق |
---|
في بعض الأحيان، قد تكون لديك بيانات مثل الجدول (بعنوان الموردون) أدناه، والذي يجمع القيم معًا في خلية: |
المورّد | الصنف |
---|---|
A | عدس، فاصولياء، لوبياء |
B | تفاح، برتقال، ليمون |
C | كينوا، أرز، شيا |
لفصل القيم بناءً على المتجر والترتيب، يمكنك أولاً إنشاء جدول جديد، مثل الجدول أدناه: |
A | B | C | D | |
---|---|---|---|---|
1 | الرتبة | A | B | C |
2 | 1 | |||
3 | 2 | |||
4 | 3 |
لإرجاع قيمة العدس، الصنف الأعلى رتبة للمورد A، يمكنك استخدام صيغة مثل هذه في الخلية B2 بالجدول الجديد لإرجاع قيمة العدس، الصنف الأعلى رتبة للمورد A: في هذه الصيغة، تُستخدم الوسيطات التالية:
|
يمكن بسهولة تعديل الصيغة الواردة أعلاه لإكمال الجدول للموردين الآخرين والأصناف الأخرى.
|
أمثلة إضافية |
---|
لتكن الخلية 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". |