עמוד ראשי מירק סקריפטינג מדריכים [מדריך] Regex חלק חמישי

[מדריך] Regex חלק חמישי

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

ZxoR
מנהל גלובאלי
[מדריך] Regex חלק חמישי
הצטרף: 01 יולי 2010, 07:43
הודעות: 368
פורסם: 11 אוגוסט 2011, 04:52
במדריך זה כבר נעבור לregsubex, לאחר שלמדתם רגאקס בסיסי תוכלו להתחיל לעבוד עם הregsubex, אז מה זה בכלל?
REGSUBEX זה שילוב בין regex ל replace, החלפה ע"י תבנית רגאקס לוגית.
בחלק זה תזדקקו כבר להבנה מלאה ברגאקס הבסיסי, לחלק הזה לא קופצים ישר.

אנו נתחיל מדוגמא קלה של איך עושים שהניק ZxoR יהפוך לZ-xo-R ע"י רגסאבקס.
אז כדי לעשות את זה, נצטרך להכין פטרן שהוא על כינוי מסויים שמכיל שלושה חלקים: אות ראשונה, אמצע (לא חובה, במידה ויש כינוי עם 2 אותיות) ואות אחרונה:
/\w\w*\w/

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

/(\w)(\w*)(\w)/

כעת, במידה והטקסט שיוכנס יהיה ZxoR, הREGMLים יראו כך:
1 = Z
2 = xo
3= R

בצורה הפשוטה נוכל לעשות זאת על ידי $regml לדוגמא:
$+($regml(1),-,$regml(2),-,$regml(3))

אך אין בזה צורך, ופה נכנסת הפקודה: $regsubex

לרגסאבקס יש פרמטר אחד שאין ב$regex, הפרמטרים של $regsubex הינם:
$regsubex(text,pattern,replace)

ואם נרצה לעשות את ההחלפה הזאת, נעשה אותה כך:
//echo -ag $regsubex(ZxoR,/(\w)(\w*)(\w)/,\1-\2-\3)

תתרכזו בחלק השלישי של הרגסאבקס, שם נמצא העניין:
\1-\2-\3

אם 1 הוא Z, ו2 הוא xo ו3 הוא R, משמע ש
\1-\2-\3

יהיה
Z-xo-R


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

פתרון:
//echo -ag $regsubex(ZxoR,/(\w)(\w*)(\w)/,\1\2\3)

(יש להעתיק למירק, לא רואים בפורום את הBOLD)


קחו לעצמכם עוד אתגר, הפעם קצת קשה יותר:
צרו REGSUBEX שהופך כל אות במילה לצבע אחר.
רמזים: יש להשתמש בסוגריים, בGLOBAL וב$rand

לפתרון כנסו לפה (מומלץ ללמוד לבד ולא לקרוא ישר תפתרון, אחרת לא תפתחו לוגיקה לרגאקס): http://pastebin.com/LL85nKUN
בהצלחה!
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה

הצטרף: 01 יולי 2010, 13:18
הודעות: 66
פורסם: 11 אוגוסט 2011, 19:00
יונתן באמת תודה למדתי את כל המדריכים, אתה מסביר מצויין ! :D
יש עוד נושאים ברג'אקס, יהיו עוד מדריכים ? :}
תמונה

הצטרף: 01 יולי 2010, 07:43
הודעות: 368
פורסם: 12 אוגוסט 2011, 06:24
יש הרבה נושאים, אני ישתדל ללמד כמה שיותר דברים לעשות, בכללי אם הבנת את המדריך החמישי כנראה שאתה כבר ברמה של אשכרה לעבוד עם רגאקס, אבל פאט לאט אני ילד כל מיני דברים כדי להעלות את הרמה, דברים קלים יותר מזה אפילו, פשוט צריך לראות הרבה דוגמאות ולהציב הרבה אתגרים עד שלומדים בעל פה את הכל באמת.
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה


חזור אל מדריכים