המשך אני מנסה ללמוד את ה-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}
תרגום ::: מהווה את הסימן שקודם לסימן מסויים או לתת ביטוי פעם אחת או בכלל לא
סימן שאלה ב regExp… יכול לבוא או אחרי תת מחרוזת מסויימת, כמו בדוגמא שהבאת מה MSDN – ואז זה בעצם אומר שתת המחרוזת הזו יכולה להופיע פעם אחת או בכלל לא להופיע, ועדיין test יחזיר true. אפשר (רק בגרסאות האחרונות של js – מדפדפן msie 5.5 ומעלה) להשתמש גם בסימן שאלה אחרי ביטוי כמותי – כמו, לדוגמא: /<.*?>/
אם לא היה סימן שאלה, ה regExp היה מתייחס לתת המחרוזת הגדולה ביותר שהוא מוצא בין < ל >, אבל מכיון שהשתמשנו כאן בסימן שאלה אחרי ה *, זה בעצם אומר ל regExp להתייחס לתת המחרוזת הקטנה ביותר שהוא מוצא בין < ל >. אני מקווה שעכשיו זה ברור.
איך בדיוק? איך הצלחת להבין אותי, בלי להבין ממה שהסברתי לך את הדוגמא שלהם? For example, "do(es)?" matches the "do" in "do" or "does".
כלומר – סימן השאלה מתייחס ל es שנמצאות בסוגריים – ולכן, תקבל true גם אם תבצע test על do וגם אם תבצע test על does – כי סימן השאלה אומר שהביטוי שהוא מתייחס אליו יכול להופיע פעם אחת או בכלל לא. אני מקווה שעכשיו זה סופסוף ברור…
4 תשובות
המשך
אני מנסה ללמוד את ה-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}
תרגום ::: מהווה את הסימן שקודם לסימן מסויים או לתת ביטוי פעם אחת או בכלל לא
אבל את הדוגמא לא הבנתי
סימן שאלה ב regExp…
יכול לבוא או אחרי תת מחרוזת מסויימת, כמו בדוגמא שהבאת מה MSDN – ואז זה בעצם אומר שתת המחרוזת הזו יכולה להופיע פעם אחת או בכלל לא להופיע, ועדיין test יחזיר true.
אפשר (רק בגרסאות האחרונות של js – מדפדפן msie 5.5 ומעלה) להשתמש גם בסימן שאלה אחרי ביטוי כמותי – כמו, לדוגמא:
/<.*?>/
אם לא היה סימן שאלה, ה regExp היה מתייחס לתת המחרוזת הגדולה ביותר שהוא מוצא בין < ל >, אבל מכיון שהשתמשנו כאן בסימן שאלה אחרי ה *, זה בעצם אומר ל regExp להתייחס לתת המחרוזת הקטנה ביותר שהוא מוצא בין < ל >.
אני מקווה שעכשיו זה ברור.
טוב הבנתי אותך אבל
לא הבנתי את הדוגמא של ה-MSDN
For example, "do(es)?" matches the "do" in "do" or "does".
איך בדיוק?
איך הצלחת להבין אותי, בלי להבין ממה שהסברתי לך את הדוגמא שלהם?
For example, "do(es)?" matches the "do" in "do" or "does".
כלומר – סימן השאלה מתייחס ל es שנמצאות בסוגריים – ולכן, תקבל true גם אם תבצע test על do וגם אם תבצע test על does – כי סימן השאלה אומר שהביטוי שהוא מתייחס אליו יכול להופיע פעם אחת או בכלל לא.
אני מקווה שעכשיו זה סופסוף ברור…