פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעלאיינער פון די מערסט צייט-קאַנסומינג און פראַסטרייטינג טאַסקס ווען ארבעטן מיט טעקסט אין עקססעל איז פּאַרסינג - פּאַרסינג די אַלפאַנומעריק "קאַשע" אין קאַמפּאָונאַנץ און עקסטראַקט די פראַגמאַנץ וואָס מיר דאַרפֿן פון עס. למשל:

  • עקסטראַקט די פאַרשלעסלען קאָד פון די אַדרעס (עס איז גוט אויב די פאַרשלעסלען קאָד איז שטענדיק אין די אָנהייב, אָבער וואָס אויב עס איז נישט?)
  • געפֿינען די נומער און דאַטע פון ​​די ינווויס פון די באַשרייַבונג פון די צאָלונג אין די באַנק ויסזאָגונג
  • עקסטראַקטיאָן פון TIN פון מאַטליי דיסקריפּשאַנז פון קאָמפּאַניעס אין דער רשימה פון קאַונערפּאַרטיעס
  • זוכן פֿאַר אַ מאַשין נומער אָדער אַרטיקל נומער אין די באַשרייַבונג, עטק.

יוזשאַוואַלי אין אַזאַ קאַסעס, נאָך אַ האַלב שעה פון ומגעלומפּערט פּיקינג אין די טעקסט מאַניואַלי, געדאנקען אָנהייבן צו קומען צו מיינונג עפעס צו אָטאַמייט דעם פּראָצעס (ספּעציעל אויב עס איז אַ פּלאַץ פון דאַטן). עס זענען עטלעכע סאַלושאַנז און מיט וועריינג גראַדעס פון קאַמפּלעקסיטי-עפעקטיווקייַט:

  • נוצן געבויט-אין עקססעל טעקסט פאַנגקשאַנז צו זוכן-שנייַדן-קליי טעקסט: LEVSIMV (לינקס), רעכט (רעכט), PSTR (מיטן), STsEPIT (פאַרבינדן) און זייַן אַנאַלאָגועס, COMBINE (דזשאָינטעקסט), EXACT (פּנויע) אאז"ו ו דער אופֿן איז גוט אויב עס איז אַ קלאָר לאָגיק אין די טעקסט (למשל, דער אינדעקס איז שטענדיק אין די אָנהייב פון די אַדרעס). אַנדערש, די פאָרמולאַס ווערן פיל מער קאָמפּליצירט און, מאל, עס אפילו קומט צו מענגע פאָרמולאַס, וואָס זייער סלאָוז אַראָפּ אויף גרויס טישן.
  • ניצן ווי טעקסט ענלעכקייט אָפּעראַטאָר פֿון וויסואַל באַסיק אלנגעוויקלט אין אַ מנהג מאַקראָו פונקציע. דאָס אַלאַוז איר צו ינסטרומענט אַ מער פלעקסאַבאַל זוכן מיט ווילדקאַרד אותיות (*, #,?, אאז"ו ו) צום באַדויערן, דעם געצייַג קען נישט עקסטראַקט די געבעטן סובסטרינג פון דעם טעקסט - נאָר טשעק אויב עס איז קאַנטיינד אין עס.

אין אַדישאַן צו די אויבן, עס איז אן אנדער צוגאַנג וואָס איז זייער באַוווסט אין ענג קרייזן פון פאַכמאַן פּראָוגראַמערז, וועב דעוועלאָפּערס און אנדערע טעטשיעס - דאָס איז רעגולער אויסדרוקן (רעגולער עקספּרעססיאָנס = רעגעקספּ = "רעגעקספּס" = "רעגולאַרס"). פשוט, RegExp איז אַ שפּראַך ווו ספּעציעלע אותיות און כּללים זענען געניצט צו זוכן פֿאַר די נייטיק סאַבסטרינגס אין דעם טעקסט, עקסטראַקט זיי אָדער פאַרבייַטן זיי מיט אנדערע טעקסט.. רעגולער אויסדרוקן זענען אַ זייער שטאַרק און שיין געצייַג וואָס סערפּאַסיז אַלע אנדערע וועגן צו אַרבעטן מיט טעקסט מיט אַ סדר פון מאַגנאַטוד. פילע פּראָגראַממינג שפראַכן (C #, PHP, Perl, JavaScript ...) און טעקסט רעדאקציע (Word, Notepad ++...) שטיצן רעגולער אויסדרוקן.

מייקראָסאָפֿט עקססעל ליידער האט נישט רעגעקספּ שטיצן אויס פון די קעסטל, אָבער דאָס קענען זיין לייכט פאַרפעסטיקט מיט וובאַ. עפֿן די וויסואַל באַסיק עדיטאָר פֿון די קוויטל דעוועלאָפּער (דעוועלאָפּער) אָדער קלאַוויאַטור דורכוועג אַלט+פקסנומקס. דערנאָך אַרייַנלייגן די נייַע מאָדולע דורך די מעניו אַרייַנלייגן - מאָדולע און נאָכמאַכן די טעקסט פון די פאלגענדע מאַקראָו פונקציע דאָרט:

ציבור פֿונקציע רעגעקספּעקסטראַקט(טעקסט ווי שטריקל, מוסטער ווי שטריקל, אַפּשאַנאַל נומער ווי ינטאַדזשער = 1) ווי שטריקל אויף טעות GoTo ErrHandl באַשטעטיקט רעגעקס = CreateObject("VBScript.RegExp") regex.Pattern = מוסטער regex.Global = אמת אויב regex.Test (טעקסט) דערנאָך שטעלן שוועבעלעך = regex.Execute(טעקסט) רעגעקספּעקסטראַקט = מאַטטשעס.יטעם(נוץ - 1) אַרויסגאַנג פֿונקציע סוף אויב עררהאַנדל: רעגעקספּעקסטראַקט = CVErr(xlErrValue) סוף פֿונקציע  

מיר קענען איצט פאַרמאַכן די וויסואַל באַסיק עדיטאָר און צוריקקומען צו עקססעל צו פּרובירן אונדזער נייַע שטריך. זייַן סינטאַקס איז די פאלגענדע:

=RegExpExtract(טקסט; מוסטער; פּונקט)

ווו

  • טקסט - אַ צעל מיט דעם טעקסט וואָס מיר קאָנטראָלירן און פון וואָס מיר ווילן צו עקסטראַקט די סובסטרינג וואָס מיר דאַרפֿן
  • מוסטער - מאַסקע (מוסטער) פֿאַר סובסטרינג זוכן
  • נומער - די סיקוואַנס נומער פון די סובסטרינג צו זיין יקסטראַקטיד, אויב עס זענען עטלעכע פון ​​זיי (אויב ניט ספּעסיפיעד, דער ערשטער געשעעניש איז געוויזן)

די מערסט טשיקאַווע זאַך דאָ, פון קורס, איז מוסטער - אַ מוסטער שטריקל פון ספּעציעל אותיות "אין דער שפּראַך" פון רעגעקספּ, וואָס ספּעציפיצירט וואָס פּונקט און ווו מיר ווילן צו געפֿינען. דאָ זענען די מערסט יקערדיק אָנעס צו באַקומען איר סטאַרטעד:

 מוסטער  באַשרייַבונג
 . די סימפּלאַסט איז אַ פּונקט. עס שוועבעלעך קיין כאַראַקטער אין דעם מוסטער אין די ספּעסאַפייד שטעלע.
 s יעדער כאַראַקטער וואָס קוקט ווי אַ פּלאַץ (פּלאַץ, קוויטל אָדער שורה ברעכן).
 S
אַן אַנטי-וואַריאַנט פון די פריערדיקע מוסטער, ד"ה קיין ניט-ווייספּאַסע כאַראַקטער.
 d
קיין נומער
 D
אַן אַנטי-וואַריאַנט פון די פריערדיקע, ד"ה קיין ניט ציפֿער
 w קיין לאַטייַן כאַראַקטער (אַז), ציפֿער אָדער אַנדערסקאָר
 W אַן אַנטי-וואַריאַנט פון דעם פריערדיקן, דאָס הייסט נישט לאַטייַן, נישט אַ נומער און נישט אַן אַנדערסקאָר.
[אותיות] אין קוואַדראַט בראַקאַץ, איר קענען ספּעציפיצירן איינער אָדער מער אותיות ערלויבט אין די ספּעסאַפייד שטעלע אין דעם טעקסט. פֿאַר בייַשפּיל קונסט וועט גלייַכן קיין פון די ווערטער: טיש or שטול.

מען קען אויך נישט אויסצייכענען אותיות, נאר שטעלן זיי אלס א קייט אפגעשיידט מיט א קויף, דאס הייסט אנשטאט פון [ABDCDEF] שרייַבן [AF]. אָדער אַנשטאָט [קסנומקס] באַקענען [-4 7]. פֿאַר בייַשפּיל, צו דעזיגנייט אַלע סירילליק אותיות, איר קענען נוצן דעם מוסטער [אַ-יאַאַ-ייאָיאָ].

[^אותיות] אויב נאָך די עפן קוואַדראַט קלאַמער, לייגן דעם סימבאָל "דעקל" ^, דעמאָלט דער גאַנג וועט קריגן די פאַרקערט טייַטש - אין די ספּעסיפיעד שטעלע אין דעם טעקסט, אַלע אותיות וועט זיין ערלויבט, אַחוץ די ליסטעד. יאָ, מוסטער [^ЖМ]וט וועט געפֿינען שטעג or מאַטעריע or פאַרגעסן, אָבער ניט סקערי or מוט, למשל.
 | בוליאַן אָפּעראַטאָר OR (OR) צו קאָנטראָלירן פֿאַר קיין פון די ספּעסיפיעד קרייטיריאַ. פֿאַר בייַשפּיל (פֿוןדאנערשטאג|אפילו | ינווויס) וועט זוכן דעם טעקסט פֿאַר קיין פון די ספּעסיפיעד ווערטער. טיפּיקאַללי, אַ סכום פון אָפּציעס איז ענקלאָוזד אין קלאַמערן.
 ^ אָנהייב פון שורה
 $ סוף פון די שורה
 b סוף פון די וואָרט

אויב מיר זענען קוקן פֿאַר אַ זיכער נומער פון אותיות, למשל, אַ זעקס-ציפֿער פּאָוסטאַל קאָד אָדער אַלע דרייַ-בריוו פּראָדוקט קאָודז, מיר קומען צו ראַטעווען קוואַנטיפייערז or קוואַנטיפייערז זענען ספּעציעלע אויסדרוקן וואָס ספּעציפיצירן די נומער פון אותיות צו זיין געזוכט. קוואַנטיפיערס זענען געווענדט צו דער כאַראַקטער וואָס קומט איידער עס:

  קוואַנטאָר  באַשרייַבונג
 ? נול אָדער איין פּאַסירונג. פֿאַר בייַשפּיל .? וועט מיינען קיין איין כאַראַקטער אָדער זייַן אַוועק.
 + איינער אָדער מער אַרטיקלען. פֿאַר בייַשפּיל d+ מיטל קיין נומער פון דידזשאַץ (ד"ה קיין נומער צווישן 0 און ומענדיקייַט).
 * נול אָדער מער געשעענישן, ד"ה קיין קוואַנטיטי. אַזוי s* מיטל קיין נומער פון ספּייסאַז אָדער קיין ספּייסאַז.
{נומער} or

{נומבערקסנומקס,נומבערקסנומקס}

אויב איר דאַרפֿן צו ספּעציפיצירן אַ שטרענג דיפיינד נומער פון געשעענישן, עס איז ספּעסיפיעד אין געגרייַזלט ברייסאַז. פֿאַר בייַשפּיל ד {6} מיטל שטרענג זעקס דידזשאַץ, און די מוסטער ז{2,5} – צוויי צו פינף ספּייסאַז

איצט לאָמיר גיין צו די מערסט טשיקאַווע טייל - אַן אַנאַליסיס פון די אַפּלאַקיישאַן פון די באשאפן פונקציע און וואָס מיר געלערנט וועגן פּאַטערנז אויף פּראַקטיש ביישפילן פון לעבן.

עקסטראַקטינג נומערן פון טעקסט

צו אָנהייבן מיט, לאָזן אונדז פונאַנדערקלייַבן אַ פּשוט פאַל - איר דאַרפֿן צו עקסטראַקט די ערשטער נומער פון אַלפאַנומעריק קאַשע, למשל די מאַכט פון אַנינטעראַפּטאַבאַל מאַכט סופּפּליעס פון די פּרייַז רשימה:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

די לאָגיק הינטער די רעגולער אויסדרוק איז פּשוט: d מיטל קיין ציפֿער, און די קוואַנטיפיער + זאגט אַז זייער נומער זאָל זיין איינער אָדער מער. די טאָפּל מינוס אין פראָנט פון די פֿונקציע איז דארף צו "אויף די פליען" גער די יקסטראַקטיד אותיות אין אַ פול נומער פון די נומער-ווי-טעקסט.

זיפּ קאָד

אין ערשטער בליק, אַלץ איז פּשוט דאָ - מיר זענען קוקן פֿאַר פּונקט זעקס דידזשאַץ אין אַ רודערן. מיר נוצן אַ ספּעציעל כאַראַקטער d פֿאַר ציפֿער און קוואַנטיפיער 6 {} פֿאַר די נומער פון אותיות:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

אָבער, אַ סיטואַציע איז מעגלעך ווען, אויף די לינקס פון די אינדעקס אין די שורה, עס איז נאָך אַ גרויס גאַנג פון נומערן אין אַ רודערן (טעלעפאָנ - נומער, טין, באַנק אקאונט, אאז"ו ו) דעמאָלט אונדזער רעגולער סעזאָן וועט ציען אויס די ערשטער 6 דידזשאַץ פון עס, ד"ה וועט נישט אַרבעטן ריכטיק:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

צו פאַרמייַדן דעם פון געשעעניש, מיר דאַרפֿן צו לייגן אַ מאָדיפיער אַרום די עדזשאַז פון אונדזער רעגולער אויסדרוק b באַצייכנט דעם סוף פון אַ וואָרט. דאָס וועט מאַכן עס קלאָר צו עקססעל אַז דער פראַגמענט (אינדעקס) מיר דאַרפֿן זאָל זיין אַ באַזונדער וואָרט, און נישט טייל פון אן אנדער פראַגמענט (טעלעפאָנ נומער):

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

טעלעפאָנירן

דער פּראָבלעם מיט געפֿינען אַ טעלעפאָן נומער אין די טעקסט איז אַז עס זענען אַזוי פילע אָפּציעס צו שרייַבן נומערן - מיט און אָן בעפלעך, דורך ספּייסאַז, מיט אָדער אָן אַ געגנט קאָד אין קלאַמערן, אאז"ו ו. דעריבער, אין מיין מיינונג, עס איז גרינגער צו ערשטער ריין אויס אַלע די אותיות פון די מקור טעקסט ניצן עטלעכע נעסטעד פאַנגקשאַנז פאַרטרעטער (סובסטיטוט)אַזוי אַז עס שטעקן זיך צוזאַמען אין אַ איין גאַנץ, און דעמאָלט מיט אַ פּרימיטיוו רעגולער ד {11} ציען אויס 11 דידזשאַץ אין אַ רודערן:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

ITN

דאָס איז אַ ביסל מער קאָמפּליצירט דאָ, ווייַל TIN (אין אונדזער לאַנד) קענען זיין 10-ציפֿער (פֿאַר לעגאַל ענטיטיז) אָדער 12-ציפֿער (פֿאַר מענטשן). אויב איר טאָן ניט געפֿינען שולד ספּעציעל, עס איז גאַנץ מעגלעך צו זיין צופֿרידן מיט די רעגולער ד {10,12}, אָבער, שטרענג גערעדט, עס וועט ציען אויס אַלע נומערן פון 10 צו 12 אותיות, ד"ה און עראָוניאַסלי אריין 11 דידזשאַץ. עס וואָלט זיין מער ריכטיק צו נוצן צוויי פּאַטערנז פארבונדן דורך אַ לאַדזשיקאַל OR אָפּעראַטאָר | (ווערטיקאַל באַר):

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

ביטע טאָן אַז אין די אָנפֿרעג מיר ערשטער קוקן פֿאַר 12-ביסל נומערן, און בלויז דעמאָלט פֿאַר 10-ביסל נומערן. אויב מיר שרייַבן אונדזער רעגולער אויסדרוק די אנדערע וועג אַרום, עס וועט ציען אויס פֿאַר אַלעמען, אפילו לאַנג 12-ביסל טינס, בלויז די ערשטער 10 אותיות. אַז איז, נאָך דער ערשטער צושטאַנד איז טריגערד, ווייַטער וועראַפאַקיישאַן איז ניט מער דורכגעקאָכט:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

דאָס איז די פונדאַמענטאַל חילוק צווישן די אָפּעראַטאָר | פֿון אַ נאָרמאַל עקססעל לאָגיק פֿונקציע OR (OR), ווו ריעריינדזשינג די אַרגומענטן טוט נישט טוישן די רעזולטאַט.

פּראָדוקט סקוס

אין פילע קאָמפּאַניעס, יינציק ידענטיפיערס זענען אַסיינד צו סכוירע און באַדינונגס - אַרטיקלען, SAP קאָודז, סקוס, אאז"ו ו. פֿאַר בייַשפּיל, אויב מיר וויסן אַז אונדזער אַרטיקלען שטענדיק צונויפשטעלנ זיך פון דריי הויפּט ענגליש אותיות, אַ בינע און אַ סאַבסאַקוואַנט דריי-ציפֿער נומער, דעמאָלט:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

די לאָגיק הינטער דעם מוסטער איז פּשוט. [אז] - מיטל קיין הויפּט אותיות פון די לאַטייַן אלפאבעט. דער ווייַטער קוואַנטיפיער 3 {} זאָגט, אַז עס איז וויכטיק פֿאַר אונדז, אַז עס זענען פּונקט דרײַ אַזעלכע אותיות. נאָך דעם היפען, מיר ווארטן פֿאַר דרייַ דידזשאַץ, אַזוי מיר לייגן אין די סוף ד {3}

געלט אַמאַונץ

אין אַ ענלעך וועג צו די פריערדיקע פּאַראַגראַף, איר קענען אויך ויסשליסן פּרייסאַז (קאָסטן, וואַט ...) פון די באַשרייַבונג פון סכוירע. אויב געלטיק אַמאַונץ, פֿאַר בייַשפּיל, זענען אנגעוויזן מיט אַ בינע, דעמאָלט:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

מוסטער d מיט קוואַנטיפיער + זוכן פֿאַר קיין נומער ביז אַ בינע, און ד {2} וועט קוקן פֿאַר פּעניז (צוויי דידזשאַץ) נאָך.

אויב איר דאַרפֿן צו עקסטראַקט נישט פּרייסאַז, אָבער וואַט, איר קענען נוצן די דריט אַפּשאַנאַל אַרגומענט פון אונדזער רעגעקספּעקסטראַקט פֿונקציע, וואָס ספּעציפיצירט די אָרדאַנאַל נומער פון די עלעמענט צו זיין יקסטראַקטיד. און, פון קורס, איר קענען פאַרבייַטן די פונקציע פאַרטרעטער (סובסטיטוט) אין די רעזולטאטן, היפען צו די נאָרמאַל דעצימאַל סעפּאַראַטאָר און לייגן אַ טאָפּל מינוס אין די אָנהייב אַזוי אַז עקססעל ינטערפּראַץ די געפֿונען וואַט ווי אַ נאָרמאַל נומער:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

מאַשין טעלער נומערן

If you do not take special vehicles, trailers and other motorcycles, then the standard car number is parsed according to the principle “letter – three numbers – two letters – region code”. Moreover, the region code can be 2- or 3-digit, and only those that are similar in appearance to the Latin alphabet are used as letters. Thus, the following regular expression will help us to extract numbers from the text:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

צייַט

צו עקסטראַקט די צייט אין די HH: MM פֿאָרמאַט, די פאלגענדע רעגולער אויסדרוק איז פּאַסיק:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

נאָך צווייפּינטל פראַגמענט [0-5] ד, ווי עס איז גרינג צו רעכענען אויס, שטעלט קיין נומער אין די קייט 00-59. איידער די צווייפּינטל אין קלאַמערן, צוויי פּאַטערנז אַרבעט, אפגעשיידט דורך אַ לאַדזשיקאַל אָדער (רער):

  • [0-1] ד - קיין נומער אין די קייט 00-19
  • 2[0-3] - קיין נומער אין די קייט 20-23

צו דער רעזולטאַט דערגרייכט, איר קענען אַדישנאַלי צולייגן די נאָרמאַל עקססעל פונקציע צייַט (מאַנשאַפֿט)צו גער עס אין אַ צייט פֿאָרמאַט וואָס איז פאַרשטיייק פֿאַר די פּראָגראַם און פּאַסיק פֿאַר ווייַטער חשבונות.

שפּריכוואָרט טשעק

רעכן אַז מיר דאַרפֿן צו קאָנטראָלירן די רשימה פון פּאַסווערדז ינווענטאַד דורך יוזערז פֿאַר ריכטיק. לויט אונדזער כּללים, פּאַסווערדז קענען בלויז אַנטהאַלטן ענגליש אותיות (קליין אָדער ופּפּערקאַסע) און נומערן. ספּייסאַז, אַנדערקאָרז און אנדערע פּונקטואַציע מאַרקס זענען נישט ערלויבט.

קאָנטראָלירונג קענען זיין אָרגאַניזירט מיט די פאלגענדע פּשוט רעגולער אויסדרוק:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

אין פאַקט, מיט אַזאַ אַ מוסטער מיר דאַרפן אַז צווישן די אָנהייב (^) און סוף ($) אין אונדזער טעקסט עס זענען געווען בלויז אותיות פון די שטעלן געגעבן אין קוואַדראַט בראַקאַץ. אויב איר אויך דאַרפֿן צו קאָנטראָלירן די לענג פון די פּאַראָל (למשל, בייַ מינדסטער 6 אותיות), די קוואַנטיפיער + קענען זיין ריפּלייסט דורך די מעהאַלעך "זעקס אָדער מער" אין די פאָרעם {6,}:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

שטאָט פון אַדרעס

זאל ס זאָגן מיר דאַרפֿן צו ציען די שטאָט פון די אַדרעס באַר. די רעגולער פּראָגראַם וועט העלפן, יקסטראַקטינג די טעקסט פון "ג." צו דער ווייַטער קאָמע:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

זאל ס נעמען אַ נעענטער קוק אין דעם מוסטער.

אויב איר האָט לייענען דעם טעקסט אויבן, איר האָט שוין פארשטאנען אַז עטלעכע אותיות אין רעגולער אויסדרוקן (פּיריאַדז, אַסטעריסק, דאָלאַר וואונדער, אאז"ו ו) האָבן אַ ספּעציעל טייַטש. אויב איר דאַרפֿן צו קוקן פֿאַר די אותיות זיך, זיי זענען פּריסידאַד דורך אַ באַקסלאַש (מאל גערופן שילדינג). דעריבער, ווען איר זוכט פֿאַר די פראַגמענט "ג." מיר מוזן שרייַבן אין רעגולער אויסדרוק הער אויב מיר זענען קוקן פֿאַר אַ פּלוס, דעמאָלט + אאז"ו ו

די ווייַטער צוויי אותיות אין אונדזער טעמפּלאַטע, די פּונקט און די קוואַנטיפיער אַסטעריסק, שטיין פֿאַר קיין נומער פון קיין אותיות, ד"ה קיין שטאָט נאָמען.

עס איז אַ קאָמע אין די סוף פון די מוסטער, ווייַל מיר זענען קוקן פֿאַר טעקסט פֿון "ג." צו אַ קאָמע. אבער עס קענען זיין עטלעכע קאָמע אין דעם טעקסט, רעכט? נישט נאר נאך דער שטאט, נאר אויך נאך די גאס, הייזער וכדומה, אויף וועם פון זיי וועט זיך אפשטעלן אונזער בקשה? דאָס איז וואָס די קשיא צייכן איז פֿאַר. אָן עס, אונדזער רעגולער אויסדרוק וואָלט ציען אויס די לאָנגעסט שטריקל מעגלעך:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

אין טערמינען פון רעגולער אויסדרוקן, אַזאַ אַ מוסטער איז "זשעדנע". צו פארריכטן די סיטואציע, דארף מען א פראגע צייכן - עס מאכט די קוואנטיפיער נאכדעם וואס עס שטייט "קארטיג" - און אונזער אנפראגע נעמט דעם טעקסט נאר ביז צום ערשטן קאונטערן קאמע נאך "ג.":

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

טעקע נאָמען פֿון פול דרך

אן אנדער זייער פּראָסט סיטואַציע איז צו עקסטראַקט די טעקע נאָמען פון די פול דרך. א פּשוט רעגולער אויסדרוק פון די פאָרעם וועט העלפן דאָ:

פּאַרס טעקסט מיט רעגולער אויסדרוקן (רעגעקספּ) אין עקססעל

דער קונץ דאָ איז אַז דער זוכן, אין פאַקט, אַקערז אין די פאַרקערט ריכטונג - פון די סוף צו די אָנהייב, ווייַל אין די סוף פון אונדזער מוסטער איז $, און מיר 'רע קוקן פֿאַר אַלץ איידער עס אַרויף צו דער ערשטער באַקסלאַש פון די רעכט. די באַקלאַש איז אנטרונען, ווי די פּונקט אין די פריערדיקע בייַשפּיל.

PS

"צום סוף" וויל איך דערקלערן, אַז דאָס אַלץ אויבן איז אַ קליינער טייל פֿון אַלע מעגליכקייטן וואָס רעגולערע אויסדרוקן געבן. עס זענען אַ פּלאַץ פון ספּעציעל אותיות און כּללים פֿאַר זייער נוצן, און גאַנץ ביכער זענען געשריבן אויף דעם טעמע (איך רעקאָמענדירן לפּחות דעם איין פֿאַר אַ אָנהייב). אין אַ וועג, שרייבן רעגולער אויסדרוקן איז כּמעט אַ קונסט. כּמעט שטענדיק, אַ ינווענטיד רעגולער אויסדרוק קענען זיין ימפּרוווד אָדער סאַפּלאַמענטאַד, מאכן עס מער עלעגאַנט אָדער קענען צו אַרבעטן מיט אַ ברייט קייט פון אַרייַנשרייַב דאַטן.

צו פונאַנדערקלייַבן און פּאַרס די רעגולער אויסדרוקן פון אנדערע מענטשן אָדער דיבאַגינג דיין אייגענע, עס זענען עטלעכע באַקוועם אָנליין באַדינונגס: RegEx101, רעגעקסר און מער

צום באַדויערן, ניט אַלע די פֿעיִקייטן פון קלאַסיש רעגולער אויסדרוקן זענען געשטיצט אין וובאַ (פֿאַר בייַשפּיל, פאַרקערט זוכן אָדער POSIX קלאסן) און קענען אַרבעטן מיט סירילליק, אָבער איך טראַכטן אַז וואָס איז עס איז גענוג פֿאַר די ערשטער מאָל צו ביטע איר.

אויב איר זענט נישט נייַ אין דער טעמע, און איר האָבן עפּעס צו טיילן, לאָזן רעגולער אויסדרוקן נוציק ווען איר אַרבעט אין עקססעל אין די באַמערקונגען אונטן. איין מיינונג איז גוט, אָבער צוויי שיך זענען אַ פּאָר!

  • ריפּלייסינג און רייניקונג טעקסט מיט די SUBSTITUTE פונקציע
  • Search and highlighting of Latin characters in text
  • זוכן פֿאַר די ניראַסט ענלעך טעקסט (Ivanov = Ivonov = Ivanof, אאז"ו ו)

לאָזן אַ ענטפֿערן