26-04-2008, 23:13
|
|
|
חבר מתאריך: 17.05.05
הודעות: 7,321
|
|
.*? The reason to any slow regex!
בקישור הבא:
http://regexadvice.com/blogs/regex_...egex_2100_.aspx
יש הסבר מפורט למה לא מומלץ להשתמש ב-sub pattern שהצעת.
הייתי מביא לו את הביטוי הזה אם הוא היה הכי יעיל שאפשר...
מכיוון שעדיין כלל לא חשבתי על חלופה לביטוי, וכיוון שעדיין לא קראתי את הכתבה הנ"ל (אלא רק רפרפתי), עוד לא מצאתי פיתרון טוב מספיק.
בכל אופן, אחרי ריפרוף במאמר, אם יש sub pattern יחיד כזה בביטוי, זה יחסית בסדר.
ד"א שכחתי להוסיף בפוסט הראשון שלי שכדאי לנסות את הביטוי הרגולרי כאשר יש 2 התאמות ויותר בתוך המחרוזת שמחפשים בה. כלומר שהפונקציה preg_replace תמצא יותר מהתאמה אחת.
בביטוי הרגולרי האחרון שהתעסקתי בו שמתי לב לכך שאם יש למעלה מהתאמה אחת, הביטוי יתייחס לחלק הראשון של ההתאמה הראשונה, ולחלק האחרון של ההתאמה האחרונה (ויבצע את ההחלפות בהתאם). כלומר שהפונקציה תתעלם מהחלקים הפנימיים ותהיה דריסה של המידע.
גם לזה עוד לא חשבתי על פיתרון, מאחר שמצאתי פיתרון לבעיה העיקרית בדרך השונה מביטויים רגולריים.
נערך לאחרונה ע"י DCD בתאריך 26-04-2008 בשעה 23:18.
|