שלח תשובה

זירת השאלות

4 תשובות

  1. ניר טייב הגיב:

    המשך
    אני מנסה ללמוד את ה-regExp מה-MSDN הבנתי את הכוונה אבל לא הבנתי את הדוגמא שנותנים שם… זה ההסבר שהם נותנים

    Matches the preceding character or subexpression zero or one time. For example, "do(es)?" matches the "do" in "do" or "does". ? is equivalent to {0,1}

    תרגום ::: מהווה את הסימן שקודם לסימן מסויים או לתת ביטוי פעם אחת או בכלל לא

    אבל את הדוגמא לא הבנתי

  2. זהר פלד הגיב:

    סימן שאלה ב regExp…
    יכול לבוא או אחרי תת מחרוזת מסויימת, כמו בדוגמא שהבאת מה MSDN – ואז זה בעצם אומר שתת המחרוזת הזו יכולה להופיע פעם אחת או בכלל לא להופיע, ועדיין test יחזיר true.
    אפשר (רק בגרסאות האחרונות של js – מדפדפן msie 5.5 ומעלה) להשתמש גם בסימן שאלה אחרי ביטוי כמותי – כמו, לדוגמא:

    /<.*?>/

    אם לא היה סימן שאלה, ה regExp היה מתייחס לתת המחרוזת הגדולה ביותר שהוא מוצא בין < ל >, אבל מכיון שהשתמשנו כאן בסימן שאלה אחרי ה *, זה בעצם אומר ל regExp להתייחס לתת המחרוזת הקטנה ביותר שהוא מוצא בין < ל >.
    אני מקווה שעכשיו זה ברור.

  3. ניר טייב הגיב:

    טוב הבנתי אותך אבל
    לא הבנתי את הדוגמא של ה-MSDN

    For example, "do(es)?" matches the "do" in "do" or "does".

  4. זהר פלד הגיב:

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

    For example, "do(es)?" matches the "do" in "do" or "does".

    כלומר – סימן השאלה מתייחס ל es שנמצאות בסוגריים – ולכן, תקבל true גם אם תבצע test על do וגם אם תבצע test על does – כי סימן השאלה אומר שהביטוי שהוא מתייחס אליו יכול להופיע פעם אחת או בכלל לא.
    אני מקווה שעכשיו זה סופסוף ברור…

שלח תשובה