עבור לתוכן

regula expression in c++ help

Featured Replies

פורסם

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

את תקינות הסטרינג את רוצה לבדוק ע"י רגולר אקספרשן

מהו הפורמט של סטרינג תקין?

map body map

כאשר התחילית והסיומת חייבים להיות map ואז רווח

גוף הטקסט (body) יכול להכיל כל תו חוץ מ-רווח

תודה

פורסם

"map [\S]+ map"

לא הגיע הזמן ללמוד לעשות את זה לבד?

פורסם
  • מחבר

כרגע אין לי מוטיבציה למוד לבד

תודה על התבנית

אבל איך אני בונה את הפונקציה ב-C שיודעת לפנות לרגולר אקספרשן, כלומר איך אני משתמש בתבנית הנ"ל תכלס בקוד?

פורסם

ביטויים רגולרים זה לא דבר מובנה ב-C (בניגוד ל-#C, לדוגמה). אתה צריך להשתמש בחבילת ביטויים רגולרים.

אני ממליץ על PCRE.

פורסם

כרגע אין לי מוטיבציה למוד לבד

אין בעיה, בפעם הבאה במקום לתת לך פתרון אני אראה לך איפה ללמוד לבד ;)

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

פורסם
  • מחבר

א) שיכנעת אותי, איפה אני לומד את הנושא לבד ולפחות ברמה הבסיסית שלו

ב) אם למקרה כזה לא צריך גולר אקספרשן, אז מתי משתמשים בזה?

ג) האם במקרה זה הרגולר אקספרשן יהיה יעיל יותר מלולאה?[br]פורסם בתאריך: 28.11.2010 בשעה 10:49:19


ביטויים רגולרים זה לא דבר מובנה ב-C (בניגוד ל-#C, לדוגמה). אתה צריך להשתמש בחבילת ביטויים רגולרים.

אני ממליץ על PCRE.

ב- C++ יש מובנה?

פורסם

ב. לדברים יותר מורכבים. סתם לדוגמה, אם אתה רוצה לזהות האם טג html הוא חוקי (מתחיל ומסתיים ב-<>, מכיל רק תווים מסוגים מסויימים, מכיל גרשיים סביב כל attribute וכו').

ג. בד"כ כן.

ד. לא, וגוגל היא עונה לך על השאלה.

פורסם

ד. יש מובנה כחלק מ-tr1.

(מבוסס על boost regex)

פורסם

א) שיכנעת אותי' date=' איפה אני לומד את הנושא לבד ולפחות ברמה הבסיסית שלו

[/quote']

אני למדתי דרך הספרייה שבפייתון:

http://docs.python.org/library/re.html

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

אני ממליץ לך להדפיס ולשמור בצד cheat sheet:

http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/

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

פורסם
  • מחבר
:xyxthumbs:
פורסם

http://www.regexbuddy.com/

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים