כללי GREP | החלפת טקסט

  • הוסף לסימניות
  • #1
מהי הנוסחא להחליף טקסט בתוך סוגריים עגולים?
תודה מראש
 
  • הוסף לסימניות
  • #3
ל"מחשבה"

וואי..
כל הכבוד שהעלת את השאלה הזו
בדיוק רציתי היום לשאול אותה אך נפל לי המחשב באותו זמן....
על כל פנים, תודה לך:cool:
 
  • הוסף לסימניות
  • #4
איזה סיבוך שלמה.
למה לא פשוט: \(.+?\)
נורית, בדיוק אתמול גם דיברנו על זה, ככה שאם בדיוק אתמול היית שואל במקיום היום היית בדיוק מקבל את התשובה :)
 
  • הוסף לסימניות
  • #5
נתן,הנוסחא הזאת כמדומני של מענדי M שעוד היה בזמן חיתולי הגרפ.
אני שומר לעצמי בפנקס רשימות או בתוך האינדיזיין,כל מיני נוסחאות שעלו לכאן.

האם אפשר לקצר לנוסחא יותר קצרה? יכול להיות. אבל אם הנוסחא שהעלתי עובדת , אני לא נוגע.
בכ"א, נבדוק בל"נ בע"ה את 'הנוסח הקצר'
תודה רבה.
 
  • הוסף לסימניות
  • #6
אסביר לך את ההבדל בין 2 הנוסחאות:
הנוסחה שלך (מענדי):
(\() *.*?\w*(\))
הוא חילק את הנוסחה ל3 קבוצות.
הקבוצה הראשונה זה \(
(מה שנמצא בתוך סוגריים זה חלק בפני עצמו. משתמשים בזה הרבה, בעיקר כדי שבהחלף יוכלו לסמן את החלקים שחיפשו, ולהחליף אלו באלו, או חלק מהם בסדר אחר, ועוד הרבה אפשרויות)
שזה אומר חפש סוגריים פותחים ( הסיבה למה יש לפניו סימן כזה \ הוא בכלל שהסוגריים מסמלים בגרפ גם משהו אחר (כמו שהסברתי מקודם - גרופ, חבילה בפני עצמו) ולכן 'מבטלים' אותו ע"י סלש \
אז מה שיש לנו זה סוגריים פותחים.

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

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

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

אחרי זה יש: \w ושוב כוכבית, שזה אומר כל תו של מילה wordcharacter, תו של מילה, ושוב כוכבית, שזה אומר, או כן, או לא, ואפילו יותר מאותו דבר.

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

בקיצור. מ-ס-ו-ב-ך.


הנוסחה הפשוטה יהיה כנ"ל:
\(.+?\)
\( = סוגריים פותחים (והסלש לפני זה שמסמל: התו הבא אנחנו מתכוונים לתו זה ממש, ולא למה שהוא מסמל אותו)
נקודה = כל תו
+ = הדבר האחרון בחיפוש (כל תו) פעם אחת לפחות ויותר מפעם אחת אם אפשר.
? = מגביל את הדבר האחרון (ה+ שאומר כמה שיותר מהתו האחרון - ה'כל תו') למינימום האפשרי
\) = סוגריים סוגרים (+הסלש כנ"ל)

הסימן שאלה לא יגביל את המחרוזת לתו הראשונה שאחרי הסוגר הפותח, והיות ואחריו יש סוגריים סוגרים שאומרים להיכלל גם בתוך הנוסחה. והיות וזה לא מתנגש לו, כי בסך הכל ביקשתי את המינימום האפשרי, והנה, עד הסוגריים הסוגרים זה המינימום האפשרי שלו. אז הוא מחפש את זה מצויין.
הסיבה שאני חייב להוסיף את הסימן שאלה, זה כדי למנוע עצירה אחרי הסוגריים הסוגרים האחרונים של הפסקה.
לדוגמא אם יש לי (כמה סוגריים בתוך סוגריים) או איך שקראו לזה בפורום וורד (סבסי"ם) אז אם אני לא יוסיף את הסימן שאלה (הוא יעצור כאן) היות ונקודה גם מסמל כל תו, וסוגר גם נכלל בכל תו, אז למה שיעצור בראשון.
 
  • הוסף לסימניות
  • #7
אם כבר נגענו בבעיה של סבסי"ם: סוגריים בתוך סוגריים.
באינדיזיין זה קל פי כמה מוורד:
לחפש סוגריים שאין בתוכו עוד סוגריים:
קוד:
[RIGHT]\([^)(]+\)[/RIGHT]
 
  • הוסף לסימניות
  • #8
ועוד אתגר לחובבי הגרפים:
הארבס, עדי רביד, סטודיו, מענדי, שלמה וכו'

בוא נראה מי יצליח לעשות גרפ, שימצא סוגריים, אבל אם יש סוגריים בתוך הסוגריים שיעצור אחרי הסוגריים השניים.
שיספור את הסוגריים הפותחים ולפי זה יעצור במספר זהה של הסוגריים הסוגרים.
 
  • הוסף לסימניות
  • #9
:)
 

קבצים מצורפים

  • 83769.jpg
    KB 167.2 · צפיות: 8
  • הוסף לסימניות
  • #10
היה כדאי לעשות אשכול של כל הגרפים.
 
  • הוסף לסימניות
  • #11
נכתב ע"י ונתנו10;163453:
בוא נראה מי יצליח לעשות גרפ, שימצא סוגריים, אבל אם יש סוגריים בתוך הסוגריים שיעצור אחרי הסוגריים השניים.

אתה בטוח שבכלל אפשר?

כמדומני יש GREP מסובך מאד שעושה את זה, אבל אני לא בטוח שאפשר בGREP של אינדיזיין בכלל...

ע"י סקריפט זה הרבה יותר קל.
 

פרוגבוט

תוכן שיווקי
פרסומת
למעלה