דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. עזרה regex שלילת מחרוזת מלאה ולא רק תווים בה

עזרה regex שלילת מחרוזת מלאה ולא רק תווים בה

מתוזמן נעוץ נעול הועבר ארכיון code613m
2 פוסטים 2 כותבים 429 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • נתנאלנ מנותק
    נתנאלנ מנותק
    נתנאל
    כתב ב נערך לאחרונה על ידי
    #1

    יש לי את הרגקס הזה כאן

    הענין הוא שאני רוצה שהוא יתפוס מחרוזת שלפניה יש מחרוזת אחת ואחריה יש מחרוזת אחרת, אבל רק את "האמצע" ולא את כולה. את זה עושים על ידי חיפוש מאחור חיובי ושלילי. כלומר לחפש מחרוזת כזו שעונה על תנאים כאלה שלפניה יש את זה ואחריה יש את זה.
    העינן הוא, שכאשר אני משתמש בזה, הוא שולל או מחייב את כל התווים הנמצאים במחרוזת שאותה שמתי לחיפוש, ולא את המחרוזת עצמה.
    לדוגמא - אם אעשה כך (?<![(@20)])

    שפרושו - תמצא לי מחרוזת שלפניה אין @20, הוא באמת מוצא מחרוזת שאין לפניה לא @ לא 2 ולא 0.
    הוא לא מתיחס לזה כאל קבוצה למרות ששמתי לו את הסגרים האלה שאומרות לו מפורש שיחשוב שזה קבוצה.

    איך אומרים לו שיחשוב שזה קבוצה גם בשלילה של דבר מסוים?


    לאחר ההסרה של הסוגרים המרובעות שם, הכל בא על מקומו בשלום, פשוט הדוגמא שראיתי היתה עם סוגריים כאלה וחשבתי שהם חלק מהביטוי של חיפוש חיובי או שלישי והתבדתי, שבאמת הסוגריים המרובעות הנל לא חיבות להיות שם. וכעת זה עובד.

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

    פורסם במקור בפורום CODE613 ב07/10/2017 22:27 (+03:00)

    הצטרפות לרשימת התפוצה בעניני תכנות JS , React , Node וכל מיני דברים מענינים כאן :cool:
    https://programing-tips.web.app/

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      חידשת לי את המושג Lookahead, לא הכרתי אותו. די הסתבכתי איך הבנת איך הוא פועל כי רק עכשיו אני הבנתי.
      לגבי השאלה שלך, סוגריים מרובעות = כל תו שבתוכם. תעטוף במאה סוגריים, והוא אכן יזהה כקבוצה, אבל מה הקבוצה? ההתאמה לאחד מהתוים שבסוגריים המורבעות.
      אם אתה צריך התאמה לאחת משתי קובצות על כרחך אין להשתמש בסוגריים מרובעות כי מניין לו אם כוונתך אחד מהתוים או כלל ההתאמה? אלא יש להשתמש בצינור | מוקף בסוגריים:
      https://regex101.com/r/MScVoq/1

      פורסם במקור בפורום CODE613 ב13/10/2017 14:32 (+03:00)

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      1

      בא תתחבר לדף היומי!
      • התחברות

      • אין לך חשבון עדיין? הרשמה

      • התחברו או הירשמו כדי לחפש.
      • פוסט ראשון
        פוסט אחרון
      0
      • דף הבית
      • קטגוריות
      • פוסטים אחרונים
      • משתמשים
      • חיפוש
      • חוקי הפורום