דילוג לתוכן המרכזי
מודול 5 · שיעור 3 מתוך 419/32 בקורס~8 min
שיעורי מודול (3/4)

שלילה: `[^...]`

הצבת סמל ^ כתו הראשון בתוך סוגריים הופך את המחלקה: היא תואמת לכל תו מלבד אלו הרשומים.

Code
Pattern: [^aeiou]
Sample:  ciao mondo
          ^   ^^  ^

[^aeiou] מתאים לעיצורים, רווחים, סימני פיסוק, ספרות\u2026 כל מה הוא לא תנועות.

דוגמאות אופייניות

  • [^\s] -- כל תו "לא רווח" (שווה ערך ל-\S).
  • [^0-9] -- כל דבר שאינו ספרה (שווה ערך ל-\D).
  • [^"]+ -- "רצף של תווים שאינם מרכאות כפולות" (שימושי כדי לחלץ תוכן בין ציטוטים).
Code
Pattern: "([^"]+)"
Sample:  Il libro "Il nome della rosa" e' famoso.

הקבוצה ([^"]+) מצלמת הכל בין מרכאות עצור לפני " הבא: זה טריק קלאסי להימנע מה בעיה חמדנית לעומת עצלן.

שלילה ותווים כלליים חלופיים

המחלקה השלילה [^...] צורכת בדיוק תו אחד שאינו חלק מהקבוצה הרשומה. זהו כלי רב עוצמה למנוע מהמנוע לרוץ מעבר למפרידים קריטיים, תוך הימנעות מ-ReDoS שנגרם על ידי לולאות חזרה לאחור אינסופיות.

נסה את זה

פעילות גופנית#regex.m5.l3.e1
ניסיונות: 0טוען...

חלץ את התוכן של כל מחרוזת בין מרכאות כפולות, מבלי ללכוד את המירכאות עצמן.

טוען עורך...
הצג רמז

החלף את .+ ב-[^"]+: כך ההתאמה נעצרת במירכאה הבאה.

הפתרון זמין לאחר 3 ניסיונות

סקירת התרגיל

פעילות גופנית#regex.m5.l3.e2
ניסיונות: 0טוען...

מצא כל מילה המורכבת רק מעיצורים (ללא תנועות, ללא ספרות, ללא סמלים).

טוען עורך...
הצג רמז

בתוך הסוגריים ניתן לשלב שלילת תנועות עם \\W (לא מילה) ו\\d (ספרות).

הפתרון זמין לאחר 3 ניסיונות

אתגר נוסף

פעילות גופנית#regex.m5.l3.e3
ניסיונות: 0טוען...

התאם רצפים של דמות אחת או יותר, ללא רווחים ופסיקים במפורש.

טוען עורך...
הצג רמז

השתמש ב-[^\\s,] עם מכמת +.

הפתרון זמין לאחר 3 ניסיונות