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

chyz

משתמש סופר מקצוען
עיצוב גרפי
D I G I T A L
עימוד ספרים
מה הנוסחה למציאת רווח ראשון בפיסקה, ורק אותו?
 

chyz

משתמש סופר מקצוען
עיצוב גרפי
D I G I T A L
עימוד ספרים
זה לא עובד מדויק, יש פסקאות שהוא מדלג.
 

נורה

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

יידישע קאפ

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

נכון, משום איזה סיבה לא ידוע הוא מוצא רק כל פיסקה שניה... זה נראה כמו באג באינדיזיין [אולי מישהו יכול להסביר את זה?].
בדיוק היום הייתי צריך להחליף כל רווח ראשון בפסקה לרווח N
במקום זה השתמשתי בקוד זה:
קוד:
(^.+?)\s
והחלפתי ב:
קוד:
$1~>

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

מענדי מ

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

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

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

מעולה, אין על הראש הגדול של GREP, כל דבר אפשר להגיע מכמה מקומות...
 

יידישע קאפ

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

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

chyz

משתמש סופר מקצוען
עיצוב גרפי
D I G I T A L
עימוד ספרים

משי 1

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

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


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

אברהם

מהמשתמשים המובילים!
עיצוב גרפי DIP
עיצוב גרפי
עימוד ספרים
עריכה תורנית
D I G I T A L
עימוד ספרים
נכון, משום איזה סיבה לא ידוע הוא מוצא רק כל פיסקה שניה... זה נראה כמו באג באינדיזיין [אולי מישהו יכול להסביר את זה?].
אולי קשור לזה שהקוד
קוד:
\K
הוא לא רשמי באינדיזיין
אם תשתמש ב positive lookbehind זה לא ידלג
 

יידישע קאפ

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

מאוד פשוט...:
קוד:
\[((?>[^\[\]]+)|(?R))*\]

זה יעבוד רק לסוגריים מרובעות.

ואם אתה רוצה משהו שיעבוד לכל סוגי הסוגריים ({[]}), תוכל להשתמש בזה:
קוד:
[\[{(]((?>[^\[\]{}()]+)|(?R))*[)}\]]
[לא בדקתי את זה בפועל... אז בלי אחריות...]
 

יידישע קאפ

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

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

קוד:
(?<=^).+?\K\s
זה שילוב של שתיהם, וזה לא מדלג כלום! :D
 

משי 1

משתמש סופר מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
עימוד ספרים
מאוד פשוט...:
קוד:
\[((?>[^\[\]]+)|(?R))*\]

זה יעבוד רק לסוגריים מרובעות.

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

אברהם

מהמשתמשים המובילים!
עיצוב גרפי DIP
עיצוב גרפי
עימוד ספרים
עריכה תורנית
D I G I T A L
עימוד ספרים
זה -
קוד:
(?<=^.+?)\s
לא יעבוד, תנסה... [הוא לא עובד עם יותר מקוד מיוחד אחד]. ולכן השתמשתי ב-\K.

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

קוד:
(?<=^).+?\K\s
זה שילוב של שתיהם, וזה לא מדלג כלום! :D

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

יידישע קאפ

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

positive lookbehind עובד עם טקסט רגיל, למשל:
קוד:
(?<=אברהם)משה
אבל עם קודים מיוחדים הוא לא עובד עם יותר מאחד [לצערינו]...
לכן כ״כ נחוץ לנו ה-\K, שעובד גם עם הרבה קודים מיוחדים!
כשרוצים לתפוס את הרווח הראשון של הפסקה [לדוגמא], אי אפשר בלי ה \K.
והפתרון הנ״ל [שהוא בעצם שילוב של ה-positive lookbehind הרגיל וה-\K] עובד מצויין...
 
נערך לאחרונה ב:

5127109

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

rachelic

משתמש רשום
עיצוב גרפי
נעזרתי רבות במה שכתוב באשכול זה. תודה רבה!
רציתילשאול- האם יש קוד לחיפוש כל מה שלא עונה על עיצוב כלשהוא (כלמה שלא בצבע אדום/ירוק)?
 

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

הפרק היומי

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


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

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

לוח מודעות

למעלה