كيف أستخدم وظائف regex الخاصة بـ Excel لتشغيل لعبة البحث الخاصة بي

روابط سريعة
يمكن أن يشعر التصفية والبحث في Excel وكأنها لعبة تخمين. وظائف regex تغيير ذلك. الآن ، يمكنني تحديد ما أحتاجه بالضبط – أنماط complex أو المباريات الجزئية أو استخراج البيانات المنظمة – دون كسر العرق.
ما هو Regex؟
Regex هو نوع من النمط المستخدم للبحث في سلسلة نصية أو تسلسل من الأحرف لمطابقة. هل تساءلت يومًا كيف يمكن لمواقع الويب أن تخبرك أن نمط البريد الإلكتروني الذي أدخلته على صفحة تسجيل الدخول غير صالح؟ هذا مثال على نمط regex باستخدام توقيع البريد الإلكتروني في العمل.
التعبيرات المعتادة ليست فريدة من نوعها لـ Excel-فهي متوفرة في العديد من محرري النصوص ، ولغات البرمجة ، وأدوات سطر الأوامر ، و IDES ، وحتى منافس Excel ، Google Sheets.
قد يبدو Regex معقدًا ، وما إذا كنت ترغب في استخدامه إلى إمكاناته الكاملة ، لكنك لا تحتاج إلى أن تكون مبرمجًا لاستخدامه بشكل فعال. في بعض الحالات ، يمكنك التخلص من مجرد معرفة كيفية استخدام بعض الرموز والأنماط الأساسية. سأبقي هذا الدليل بسيطًا قدر الإمكان حتى تتمكن من البدء في استخدامه.
فيما يلي الرموز التي سنستخدمها في هذا الدليل:
رمز | وصف |
---|---|
– | يحدد مجموعة من الشخصيات داخل الأقواس. |
^ | تطابق بداية السلسلة. |
$ | تطابق نهاية السلسلة. |
. | تطابق أي حرف آخر غير حرف الخط الجديد. |
* | تطابق 0 أو أكثر من الشخصية السابقة. |
+ | تطابق 1 أو أكثر من الشخصيات السابقة. |
() | قم بتجميع الشخصيات المتطابقة في واحدة. |
[] | تطابق أي من الشخصيات داخل الأقواس. |
[^] | تطابق أي حرف ليس داخل الأقواس. |
{n} | تطابق بالضبط n مثيلات الشخصية السابقة. |
{n ،} | تطابق ن أو أكثر من حوادث الشخصية السابقة |
تشمل أنماط Regex البسيطة التي يمكنك بناءها مع هذه الرموز:
نمط regex | وصف |
---|---|
[0-9] | تطابق رقم واحد من 0 إلى 9 |
[a-zA-z0-9] | هذا هو نطاق مزيج يطابق حرفًا واحدًا من Shedrase من A إلى Z ، وأعلى من A إلى Z ، ومن 0 إلى 9. |
^Pro | تطابق أي سلسلة تبدأ بـ المحترف. |
[^$] | تطابق أي حرف ليس كذلك $. |
(يخدع) | تجميع النمط يخدع. |
{3 ،} | تطابق 3 أو أكثر من حوادث الأخيرة أ (على سبيل المثال ، أو AA، أو AAA). |
وظائف Regex هي صيغ Excel محددة مسبقًا والتي يمكن استخدامها لتحديد نمط للبحث عن سلاسل النص ومعالجتها. هناك ثلاث وظائف Regex حتى الآن ، وسننظر في كيفية استخدامها بشكل منفصل ومع وظائف أخرى.
ابحث عن الأنماط
الوظيفة الأولى التي سننظر إليها هي regextest. يستغرق سلسلة نصية تريد استخدامها للبحث ونمط regex ، ويستخدم الأخير للعثور على تطابق في السابق. ستعود الوظيفة أيضًا حقيقي أو خطأ شنيع.
بناء الجملة لوظيفة regextest هو كما يلي:
REGEXTEST(string_to_search, regex_pattern_to_use, [case_senstivity])
المعلمتين الأولين ، String_TO_Search و regex_pattern_to_use، هي الذات. ال [case_sensitivity] المعلمة اختيارية-أي شيء يتم وضعه بين قوسين مربعة عند الحديث عن بناء جملة Excel اختياري-ويشير إلى ما إذا كنت تريد أن يكون البحث حساسًا للحالة (0) أو غير حساسة للحالة (1). الافتراضي حساس للحالة.
في مثالنا ، سوف نستخدم regextest لمعرفة ما إذا كان المستخدم قد أدخل عنوان بريد إلكتروني صالح باستخدام الصيغة التالية:
REGEXTEST(B3, "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$")
هنا ، نحن نبحث في الخلية B3 لمعرفة ما إذا كان يحتوي على عنوان بريد إلكتروني باستخدام نمط Regex أدناه:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
إذا وضعت الصيغة في الخلية C3 وأدخل [email protected] في الخلية B3، سوف يعود حقيقي لأن ذلك يطابق توقيع بريد إلكتروني.
بيانات إضافية باستخدام Regex
بعد ذلك ، دعنا نلقي نظرة على وظيفة Rexexextract. يعيد فرعية (جزء من السلسلة) يطابق نمط regex المقدم.
بناء الجملة لوظيفة rexexextract هو كما يلي:
REGEXEXTRACT(string_to_search, regex_pattern_to_use, [return_mode], [case_senstivity])
الاستمرار في مثال البريد الإلكتروني ، دعنا نضيف صيغة في الخلية B4 لاستخراج اسم المستخدم لجزء البريد الإلكتروني.
هذا هو شكل الصيغة:
=REGEXEXTRACT(B3, "([^@]+)")
في هذه الصيغة ، نستخرج كل شيء قبل @ تم إدخال الرمز في عنوان البريد الإلكتروني في B3.
ابحث واستبدالها باستخدام Regex
وظيفة regex النهائية التي سننظر إليها هي regexreplace. تشبه هذه الوظيفة وظيفة استبدال Excel ، ولكنها تدعم أيضًا Regex. يأخذ سلسلة النص التي تريد تعديلها والتحقق لمعرفة ما إذا كان هناك فرعية تتطابق مع نمط regex المحدد. إذا وجدها ، فإنه يحل محله بسلسلة الاستبدال المقدمة.
بناء جملة وظيفة regexreplace كما يلي:
REGEXREPLACE(string_to_modify, regex_pattern_to_use, replacement_string, [number_of_occurrences], [case_senstivity])
فيما يلي المعلمات المهمة التي يجب الانتباه إليها في هذه الوظيفة:
- string_to_modify: سلسلة النص التي تريد تعديلها.
- استبدال: السلسلة لاستبدال السلسلة الفرعية مع.
- number_of_occurrences: المثيل الدقيق الذي تريد استبداله.
فيما يلي مثال على استخدام الوظيفة لاستبدال جزء اسم المستخدم من البريد الإلكتروني بسلسلة نصية أخرى:
=REGEXREPLACE(B3, "^[^@]+", "jane.doe")
قيمة B3 يكون [email protected]وبعد أن ندخل الصيغة أعلاه في الخلية C3، سوف يعود [email protected].
الجمع بين regex مع وظائف أخرى
يمكنك أيضًا الجمع بين وظائف Regex مع وظائف أخرى في Excel. على سبيل المثال ، يمكنك الجمع بين وظيفة regextest مع excel if excel وعرض الرسالة المناسبة بناءً على النتيجة.
فيما يلي صيغة مثال:
=IF(REGEXTEST(B3, "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"), "This is a valid email address!", "The email address is invalid!")
تستخدم هذه الصيغة عبارة if للتحقق مما إذا كان عنوان البريد الإلكتروني الذي تم إدخاله في الخلية B6 صالحًا ثم عرضه هذا عنوان بريد إلكتروني صالح! إذا كان حقيقي أو عنوان البريد الإلكتروني غير صالح! إذا كان خطأ شنيع. بدلاً من ذلك ، يمكنك إقران هذا مع وظيفة Find للعثور على البيانات بسرعة في Excel.
ليس من المفترض أن يكون هذا دليلًا واسع النطاق حول التعبيرات العادية – وهذا يتطلب عدة مقالات من تلقاء نفسها. ومع ذلك ، إنها طريقة جيدة للبدء في استخدام Regex في Excel. تقتصر حالات الاستخدام والإمكانيات فقط من خلال خيالك.