Whatsup - לינוקס, תוכנה חופשית וקוד פתוח בעברית

אוף טופיק - עזרה ב- regex.

Anonymous - 22/02/2018 - 22:48
נושא ההודעה: עזרה ב- regex.
נתקעתי בעמוד הזה:
https://alf.nu/RegexGolf#accesstoken=_duK37x09DxznfIkuLuo

הצלחתי למצוא את הדפוס החוזר בעמודה הימנית כפי שרואים אבל אני צריך שדווקא מהדפוס הזה הוא יתעלם ולא יתפוס אותו ואת המילה שהוא נמצא בה ודווקא יתפוס את העמודה השמאלית בה הדפוס הזה לא קיים.
Anonymous - 22/02/2018 - 23:02
נושא ההודעה:
אה אם אתם במקרה יודעים, אשמח שלא תגישו לי את הפתרון אלא תאמרו לי מה אני צריך לחפש וללמוד כדי לבצע את זה.
שוב תודה Smile.
Anonymous - 23/02/2018 - 05:58
נושא ההודעה:
חפש את צרוף האותיות שמופיע בכל אחד מהמילים בעמודה השמאלית ולא מופיע בימני וכתוב אותו. לא צריך יותר מזה
Anonymous - 23/02/2018 - 12:59
נושא ההודעה:
איפה אתה רוצה צירוף אותיות כזה?
למשל שתי מילים מהעמודה השמאלית:

קוד:
fusoid
acritan


לא רואה ביניהם קשר ויש שם עוד כמובן, רק נתתי דוגמא.


לעומת זאת בעמודה הימנית יש צירוף שחוזר על עצמו בכל המילים.
מעין פלינדרום.

הקישור ששלחתי, לוכד את הפלינדרום הזה (רואים בהדגשה את מה שהצלחתי ללכוד) וחשבתי שמה שאני צריך לעשות זה ללכוד את כל המילים שאין בהם את הפלינדרום הזה.

ראיתי שהדבר יכול להיעשות עם negative look ahead או negative look behind.
כלומר: התאם לי כל צירוף שמלפניו (או מאחורי) *אין* את ההתאמה הזו (במקרה שלי, את הפלינדרום הזה).

העניין הוא שאני לא מצליח ליצור את זה.
דוגמא למשל אפשר לראות פה:
https://www.youtube.com/watch?v=aIEjh0YsxWA

אמנם זה לא בדיוק מה שאני צריך, אבל אפשר מפה להכליל לכל המילה איכשהו אבל לא ממש הצלחתי.
Anonymous - 23/02/2018 - 16:00
נושא ההודעה:
טוב בלית ברירה חיפשתי פתרון Smile.
הפתרון שמצאתי ושלא כל כך ברור לי, הוא זה:
קוד:
^(?!.*(.)\1)|ef

מה זה ה- OR ef הזה בסוף ולמה זקוקים לו.


אני קצת שיניתי למשהו שמעט יותר ברור לי וזה זה:
קוד:
^(?!.*(.)(.)\2\1)

Anonymous - 23/02/2018 - 16:03
נושא ההודעה:
טוב בעצם זה קצת כן ברור לי.
אם מישהו רוצה שאנסה להסביר, אפשרי Smile.
ינון - 24/02/2018 - 23:34
נושא ההודעה:
הי,

אז אני פתרתי את זה עם:

קוד:
fo[^lr]


ראיתי שיש הרבה מילים בצד שמאל שיש בהן fo, אז כתבתי את זה בתיבה למעלה, וזה באמת הראה שכל המילים בצד שמאל מתאימות אבל נתקעתי עם 4 מילים בצד ימין שהיה בהן fo ולכן היה צריך להוציא אותן מהרשימה.

בגלל שזה רק 4 מילים קל היה לראות שבכולן אחרי ה fo מגיע l או r. הסימן ^ בתוך סוגריים מרובעים מציין אות שאיננה מופיעה ברשימה, או בעברית fo ואחרי זה אות שאיננה l או r.

זאת הכוונה בלחפש תבניות
Anonymous - 25/02/2018 - 00:41
נושא ההודעה:
כניראה שפתרת תרגיל בעמוד אחר.
אני כבר התקדמתי מאז וכל פעם שאני מתקדם, אתה מקבל קישור לתרגיל אחר (כשאתה לוחץ על הקישור שלי מההודעה הראשונה).
אם אתה מחפש את התרגיל שנתקעתי בו (ושהפתרון שלך לא קשור אליו כלל Smile), תכנס שוב לקישור מההודעה הראשונה אבל כשאתה בתוך העמוד, לחץ על Abba מצד ימין ותגיע לתרגיל הנכון.
Anonymous - 25/02/2018 - 10:52
נושא ההודעה:
אני כתבתי רק
foo
וזה פתר הכל
Anonymous - 25/02/2018 - 12:29
נושא ההודעה:
Anonymous :
אני כתבתי רק
foo
וזה פתר הכל

ראה התגובה לפניך.
Anonymous - 25/02/2018 - 16:15
נושא ההודעה:
למישהו יש רעיון איך אני יכול לפתור את זה?
(יש שם סגירה ופתיחה של סוגריים משולשים כאשר (מבלי לבדוק אבל אני די בטוח) בצד שמאל יש בדיוק אותו מספר של פתיחה וסגירה של סוגריים ובצד ימין אין שוויון.
אם זו הייתה סתם תוכנה הייתי עובר שורה שורה, סופר את כל הפתיחים ואז סופר את כל הסגירים ואם המספר שווה, יש התאמה. אם לא, אין התאמה. השאלה איך אני מבצע דבר כזה ב- regex)
במה אני אמור להשתמש?
Image
כל הזמנים הם GMT + 2 שעות