חיפוש/החלפה הכל על GREP (גרפ) באינדיזיין

יידישע קאפ

משתמש סופר מקצוען
מנוי פרימיום
עיצוב גרפי
צילום מקצועי
עריכה והפקת סרטים
עימוד ספרים
שלום!
חשבנו שיהיה תועלת לפתוח נושא שכל מגמתו לעזור וללמד את נושא הגרפ באינדיזיין.
אם אתם עובדים עם אינדיזיין אז מסתמא הכרתם את גרפ, ואם לא, אז עכשיו הזמן להכיר אותו.
מנסיוני יש שתי דברים שהכי ממהרים את העבודה באינדיזיין: 1) גרפ, 2) סקריפטים. גרפ הוא טכנולוגיה מאוד חזק לחפש ולהחלף טקסט [ונמצא בשימוש בהרבה שפות תכנות], ונמצא בכמה מקומות באינדיזיין, כגון בחפש\החלף וב-GREP Styles.
כל טקסט שיש לו תבנית מסוים, אפשר להגדיר אותו בגרפ.
נתחיל בדבר מאוד שכיח - יש לך ספר שלם שאתה רוצה שכל הסוגריים [כגון מראי מקומות] יהיו בסגנון אחר, אז עם גרפ אפשר להגיד לאינדיזיין שיעשה הכל אוטומטי.
אז קודם עושים סגנון תו חדש "סוגריים", ואח"כ בתוך הסגנון פיסקה של גוף הספר מוסיפים שבכל פעם שיש סוגריים הוא יחיל את הסגנון תו "סוגריים". ראה תמונה:
Screen Shot 2017-12-09 at 18.48.25.png

והקוד למצוא סוגריים הוא:
קוד:
\(.+?\)
פירוש:
\(
סוגריים פותח - וכאן המקום להביהיר שה"\" נקרא [בגרפ] תו בריחה, זאת לפי שאם רוצים לחפש תו שגם משתמש לקוד בגרפ, צריכים להגיד לו שאני מתכוון עכשיו להתו עצמו ולא להקוד, וזה ע"י תו "\". וכיון שסוגריים משתמשים לסמן קבוצה בגרפ, אם רוצים לחפש סוגריים עצמו, צריכים לשים "\" לפניו.
.
כל תו - . [נקודה] מוצא כל סוג תו, כולל רווחים וסימני פיסוק, חוץ מסיום פיסקה.
+
פעם אחד או יותר - ימצא את התו שלפניו פעם אחד או יותר. שימו לב שבמקרה שלנו הוא ימצא כל התוים שאחרי הסוגר הפותח; ולכן צריכים להגיד לו לעצור כשמגיע לסוגר סוגר.
?
התאמה ראשון - אם לא נוסיף את זה, אז הוא ימצא את הכל שבין הסוגריים הפותח הראשון עד הסוגריים הסוגר האחרון [באותו פיסקה, לפי שה[נקודה] לא כולל סיום פיסקה, זוכרים?], כבתמונה:
Screen Shot 2017-12-09 at 19.07.34.png

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

יידישע קאפ

משתמש סופר מקצוען
מנוי פרימיום
עיצוב גרפי
צילום מקצועי
עריכה והפקת סרטים
עימוד ספרים
אם יש סוגריים בתוך סוגריים, הקוד הנ"ל לא יעבוד, אלא הוא ימצא עד הסוגריים הסוגר הראשון, כזה:
Screen Shot 2017-12-09 at 19.19.42.png

אז הפתרון למצוא סוגריים הוא קצת ארוך, ואני מפרסם את זה עכשיו בלי הסבר, וכשיהיה זמן נסביר את זה.
קוד:
\([^)]+\([^)]+\)(\)|[^)]+\))([^)]+\))?\)?
נ. ב. הקוד הזה לוקח בחשבון כל האופנים, וגם כולל אם יש שתי סוגריים בתוך סוגריים, וכן סוגריים שבתוך סוגריים שבתוך סוגריים...;)
 
נערך לאחרונה ב:

יידישע קאפ

משתמש סופר מקצוען
מנוי פרימיום
עיצוב גרפי
צילום מקצועי
עריכה והפקת סרטים
עימוד ספרים
מה עושים כשרוצים להחיל סגנון תו על מילה, שיודעים שהוא במקום מסוים. למשל רוצים למצוא את המילה שמגיע אחרי [רווח em], ראה תמונה:
Screen Shot 2017-12-09 at 21.11.49.png

הפתרון:
positive lookbehind - מבט לאחורה חיובי
קוד:
(?<=)
משימים מה שרוצים שיהיה לפני המילה לפני הסוגריים הסוגר, ובנידונינו רווח em, כזה:
קוד:
(?<=~m)
[~m הוא הקוד לרווח em]
והקוד השלם למצוא כל מילה ראשון שאחרי רווח em הוא:
קוד:
(?<=~m).+?\s
אה, שכחנו... \s הוא קוד לכל סוג רווח [כידוע באינדיזיין יש 12 סוגי רווחים...]
--------------------------------------------------------------------------------------------
יש חסרון אחד ל-positive lookbehind:
שאי אפשר להכניס לתוכו יותר מקוד אחד.
זאת אומרת שאם רוצים למצוא המילה השניה של הפיסקה, זה לא יעבוד:
קוד:
(?<=^.+?\s).+?\s
אבל בחסדי ה' יש פתרון!
\K
[זה לא רשום ברשימת הקודים באינדיזיין!!!]
כל מה שכתוב לפני ה "\K" הוא לא חלק מהחיפוש, רק חלק מהמבט לאחורה! וממילא כותבים ככה:
קוד:
^.+?\s\K.+?\s
---------------------------------------------------------------------------------------------
עיין הודעה מס' 1 לביאור כל התווים בגרפ שלא הוסברו בהודעה זו
 
נערך לאחרונה ב:

hamefoar

מהמשתמשים המובילים!
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
עימוד ספרים
יפה מאד.
שים לב שמי שלא יקרא בעיון את ההודעה הראשונה באשכול, לא יבין היטב איך עובד הגרפ הזה.
אמנם זה בסמיכות, אז אולי לא צריך לבאר.
אבל באופנים כאלו כדאי להוסיף משהו כמו 'עיין הודעה מס' # לביאור כל התווים בגרפ שלא הוסברו בהודעה זו'.
 

לאה שלינגר

משתמש מקצוען
עיצוב גרפי
אני עובדת באינדיזיין וכמה שנראה לי זה באמת יעזור לי,
רק הייתי שמחה לקבל תיאור קצר
מה זה GREP ומתי משתמשים עם זה
אני לא בדיוק מבינה מה זה כל הקודים וכו'
תודה רבה!!!!!
 

לנדא

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

אברהם

מהמשתמשים המובילים!
עיצוב גרפי DIP
עיצוב גרפי
עימוד ספרים
עריכה תורנית
D I G I T A L
עימוד ספרים
אני עובדת באינדיזיין וכמה שנראה לי זה באמת יעזור לי,
רק הייתי שמחה לקבל תיאור קצר
מה זה GREP ומתי משתמשים עם זה
אני לא בדיוק מבינה מה זה כל הקודים וכו'
תודה רבה!!!!!
GREP זו מעין שפת מחשב לחיפוש טקסט המאפשרת חיפושים מורכבים מאד לעומת החיפוש הרגיל שמאפשר חיפושים פשוטים.
(המלצה אישית שלי - גם לחיפושים פשוטים להשתמש דווקא בGREP ולא בחיפוש הרגיל, מנסיון בקבצים כבדים, חיפוש GREP מהיר באופן משמעותי מאשר החיפוש הרגיל)
בנוסף יש באינדיזיין אפשרות של סגנון GREP, שזה סגנון תו שמשוייך לסגנון פסקה, שמשתנה בהתאם למחרוזת הGREP שהוזנה.
למשל אפשר לשייך לסגנון פסקה 'טקסט רץ' את הGREP שהובא לעיל שמקטין את הסוגריים ותכולתם, וכך באופן אוטומטי כל הסוגריים יוקטנו, גם תוך כדי הקלדה.
 

יידישע קאפ

משתמש סופר מקצוען
מנוי פרימיום
עיצוב גרפי
צילום מקצועי
עריכה והפקת סרטים
עימוד ספרים
אני עובדת באינדיזיין וכמה שנראה לי זה באמת יעזור לי,
רק הייתי שמחה לקבל תיאור קצר
מה זה GREP ומתי משתמשים עם זה
אני לא בדיוק מבינה מה זה כל הקודים וכו'
תודה רבה!!!!!
GREP נמצא [בעיקר] בשתי מקומות באינדיזיין: 1) בחלון חפש\החלף; שמה אפשר לחפש טקסט ע"פ תבנית GREP, ולעשות עם הטקסט מה שצריכים.
אבל האם לא היה טוב אם אפשר להחיל סגנון תו על מילים מסויימים בשעת ההקלדה באופן אוטומטי?
לזה יש את המקום ה-2) בחלון סגנון פיסקה, בטאב GREP, שמה אפשר להגדיר שבכל מקרה של טקסט שתואם ל-GREP, שיחיל סגנון תו מסויים!
למשל אם מגדירים סגנון תו לסוגריים, אז בשעת ההקלדה מיד עם סגירת הסוגריים זה נהיה בסגנון תו של הסוגריים!
GREP.gif
 

GOLDRING

משתמש פעיל
עיצוב גרפי
עימוד ספרים
אם יש סוגריים בתוך סוגריים, הקוד הנ"ל לא יעבוד, אלא הוא ימצא עד הסוגריים הסוגר הראשון, כזה:
צפה בקובץ המצורף 308848
אז הפתרון למצוא סוגריים הוא קצת ארוך, ואני מפרסם את זה עכשיו בלי הסבר, וכשיהיה זמן נסביר את זה.
קוד:
\([^)]+\([^)]+\)(\)|[^)]+\))([^)]+\))?\)?
נ. ב. הקוד הזה לוקח בחשבון כל האופנים, וגם כולל אם יש שתי סוגריים בתוך סוגריים, וכן סוגריים שבתוך סוגריים שבתוך סוגריים...;)

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

רמז: הגרפ מכיל פחות מ-20 סימנים
 
נערך לאחרונה ב:

אברהם

מהמשתמשים המובילים!
עיצוב גרפי DIP
עיצוב גרפי
עימוד ספרים
עריכה תורנית
D I G I T A L
עימוד ספרים
נוסחה נחמדה, ארוכה מידי.... וגם לא מוצאת כשיש רק סוגריים בודדות, מה שאומר שצריך לעבוד פעמיים, ראשית למצוא סוגריים רגילות ואח"כ לחפש כפילויות של סוגריים בתוך סוגריים וכדו'.
יש פתרון הרבה יותר פשוט במסגרת חיפוש גרפ, אבל בא לי לעשות מזה אתגר קטן:
תנסו אתם, מומחי הפורום, למצוא גרפ שמכיל את כל האפשרויות של סוגריים [גם בודדות וגם כפולות ומשולשות וכו']...

רמז: הגרפ מכיל פחות מ-20 סימנים

לא זוכר ואין לי זמן לנסות
אך לסוגריים רגילים אפשר להשתמש בזה:
קוד:
(\([^)]+\([^)]+\)(\)|[^)]+\))([^)]+\))?\)?)|\(.+?\)
 

GOLDRING

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


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

גשן

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

לאה שלינגר

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

יידישע קאפ

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

יידישע קאפ

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

יידישע קאפ

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

ILSK

משתמש מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
מוזיקה ונגינה
עימוד ספרים
אין מילים
תודה ותמשיך להעלות כאן
כשיש קצת זמן לומדים עוד משהו ועוד משהו
 

GOLDRING

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

אפשר גם אפשר!

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

יידישע קאפ

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

אולי אני יתן לכם רמז, אני משער שרובכם לא מכירים אותו.
אפשר לעשות במקרה הזה שימוש בסימן מיוחד שמיועד לדפוס רקורסיבי [=תופעה שכל מופע שלה מכיל מופע נוסף שלה, כך שהיא מתרחשת בתוך עצמה שוב ושוב ושוב]:
קוד:
(?R)
תודה רבה!!!
האם זה הפתרון?
קוד:
\(((?>[^()]+)|(?R))*\)
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קיט ב'

ט בַּמֶּה יְזַכֶּה נַּעַר אֶת אָרְחוֹ לִשְׁמֹר כִּדְבָרֶךָ:י בְּכָל לִבִּי דְרַשְׁתִּיךָ אַל תַּשְׁגֵּנִי מִמִּצְוֹתֶיךָ:יא בְּלִבִּי צָפַנְתִּי אִמְרָתֶךָ לְמַעַן לֹא אֶחֱטָא לָךְ:יב בָּרוּךְ אַתָּה יְהוָה לַמְּדֵנִי חֻקֶּיךָ:יג בִּשְׂפָתַי סִפַּרְתִּי כֹּל מִשְׁפְּטֵי פִיךָ:יד בְּדֶרֶךְ עֵדְוֹתֶיךָ שַׂשְׂתִּי כְּעַל כָּל הוֹן:טו בְּפִקֻּדֶיךָ אָשִׂיחָה וְאַבִּיטָה אֹרְחֹתֶיךָ:טז בְּחֻקֹּתֶיךָ אֶשְׁתַּעֲשָׁע לֹא אֶשְׁכַּח דְּבָרֶךָ:
נקרא  5  פעמים

לוח מודעות

למעלה