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

  • הוסף לסימניות
  • #83
מה הנוסחה למציאת רווח ראשון בפיסקה, ורק אותו?
 
  • הוסף לסימניות
  • #85
זה לא עובד מדויק, יש פסקאות שהוא מדלג.
 
  • הוסף לסימניות
  • #86
איך מחילים סגנון חדש על טקסט בולד?
הבולד מגיע בלי סגנון.
 
  • הוסף לסימניות
  • #87
זה לא עובד מדויק, יש פסקאות שהוא מדלג.

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

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

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

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

מעולה, אין על הראש הגדול של GREP, כל דבר אפשר להגיע מכמה מקומות...
 
  • הוסף לסימניות
  • #89
  • הוסף לסימניות
  • #90
אז אם רוצים לשנות עיצוב, אין פתרון?

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

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


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

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

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

ואם אתה רוצה משהו שיעבוד לכל סוגי הסוגריים ({[]}), תוכל להשתמש בזה:
קוד:
[\[{(]((?>[^\[\]{}()]+)|(?R))*[)}\]]
[לא בדקתי את זה בפועל... אז בלי אחריות...]
 
  • הוסף לסימניות
  • #95
אם תשתמש ב positive lookbehind זה לא ידלג
זה -
קוד:
(?<=^.+?)\s
לא יעבוד, תנסה... [הוא לא עובד עם יותר מקוד מיוחד אחד]. ולכן השתמשתי ב-\K.

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

קוד:
(?<=^).+?\K\s
זה שילוב של שתיהם, וזה לא מדלג כלום! :D
 
  • הוסף לסימניות
  • #96
מאוד פשוט...:
קוד:
\[((?>[^\[\]]+)|(?R))*\]

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

ואם אתה רוצה משהו שיעבוד לכל סוגי הסוגריים ({[]}), תוכל להשתמש בזה:
קוד:
[\[{(]((?>[^\[\]{}()]+)|(?R))*[)}\]]
[לא בדקתי את זה בפועל... אז בלי אחריות...]
תודה רבה!!
זה קובץ הזוי עם כל סוגי הסוגריים וזה עובד מעולה!
 
  • הוסף לסימניות
  • #97
זה -
קוד:
(?<=^.+?)\s
לא יעבוד, תנסה... [הוא לא עובד עם יותר מקוד מיוחד אחד]. ולכן השתמשתי ב-\K.

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

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

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

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

פרוגבוט

תוכן שיווקי
פרסומת

הצטרפות לניוזלטר

איזה כיף שהצטרפתם לניוזלטר שלנו!

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

לוח מודעות

הפרק היומי

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


תהילים פרק כה

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