מציאת תו שחוזר על עצמו ברציפות- JS
-
@yossiz ענה מצויין.
- אתה מחליט איזה סוג תווים אתה מחפש ושם בסוגריים מרובעות, וזה מייצג תו בודד מהסוג שלהם.
(אני חושב שבאת לאפוקי רווחים וא"כ \S מייצג כל תו שאיננו תו רווח וקפיצת שורה וכדומה) - את הסוגריים המרובעות אתה עוטף בעגולות כדי להגדיר את התו שיימצא כקבוצה, ואז אתה כותב \1 שזה אומר קבוצה 1 כלומר שיהיה מייד אחרי התו שנמצא עוד תו בדיוק כמותו, וזה אומר שתיים אותו הדבר.
- ובשביל לתפוס גם עשר כאלה וגם כדי להגדיר מינימום אתה שם אחרי ה\1 סוגריים מסולסלים של כמות, הפרמטר הראשון זה מינימום (אם אתה רוצה אפילו שתיים אז צריך לשים 1 כי אחד כבר היה מצד הקבוצה) הפרמטר השני משאירים ריק כי אין הגבלת מקסימום.
הקוד JS אמור להיראות ככה:
var str = "abc ccc ddd frfsdfsd456565"; var regex = /(\S)\1{1,}/g; var m = null; while((m = regex.exec(str)) != null) console.log(m);
- אתה מחליט איזה סוג תווים אתה מחפש ושם בסוגריים מרובעות, וזה מייצג תו בודד מהסוג שלהם.