عبارات منظم در جاوا اسکریپت
سلام دوستان . وقتتون به خیر .
ببخشید من میخاستم بدونم طرز کار کارکتر b\ در عبارات منظم چی هست ؟ مطالب در موردش رو میخونم گیج شدم . بعضی جاها نوشته تطبیق کلمه اول جمله و آخر جمله . بعضی جاها میگن مرز کلمه . حالا میخاستم بدونم منظور از مرز کلمه چیه ؟
مثلا توی متن زیر اگر bReza\ رو بزنیم چرا فقط رضا اول رو مچ میکنه ؟ . مگه طبق گفته ی سایت W3School نباید اول و آخر رو مچ کنه ؟ پس اون رضا ی آخر رو چی میشه ؟
Ali RezahhhhhhhhhReza
ممنونم
7 پاسخ
سلام . خیلی خیلی ممنونم . این سایت رو هم پیدا کردم خیلی کمک میکنه . ممنونم از شما .
https://www.regular-expressions.info/wordboundaries.html
فقط یک سوال دیگه ای داشتم اینه که کارکتر (_) (آندرلاین) جز کارکترهای حروفی محسوب میشه ؟
سلام و درود
به این \b به اصطلاح word boundary می گویند
Matches a word boundary. Boundaries are determined when a word character is NOT followed or NOT preceeded with another word character.
Word Boundary به معنی مرز بین یک کاراکتر مربوط به کلمه (حروف) و یک کاراکتر غیر حروف (مثل پرانتز، نقطه، فاصله و...). در واقع بایستی یک کاراکتر غیر حروفی قبل و بعد از کلمه وجود داشته باشد.
مثلا برای عبارت شما که \bReza می باشد
و برای جمله
Ali Rezahhhhhhhhh Reza
2مورد منطبق می باشد
و برای جمله
Ali RezahhhhhhhhhReza
یک مورد منطبق می باشد (چون RezahhhhhhhhhReza یک کلمه می باشد و چون کاراکتر فاصله قبل از Reza اول به عنوان کاراکتر غیر حروف وجود دارد آنرا پیدا می کند)
برای مثال و راهنمایی از این لینک می توانید استفاده نمایید
اگر می خواهید که در هر صورت کلمه مورد نظر را پیدا کند می توانید از عبارت زیر استفاده نمایید تا تمام کلمه های مورد نظر را پیدا کند
در ضمن توجه داشته باشید که \b و /g بصورت case sensitive (حساس به حروف) می باشد یعنی برای حروف بزرگ و کوچک Reza و reza تفاوت قائل می شود
/Reza/g
این خط توضیحی در مورد
\w
می باشد نه در مورد Word Boundaries
این لینک تون کار نمی کنه
کاراکتر (_) (آندرلاین) را شما در نامگذاری ها مجاز به استفاده می باشید ولی پرانتز و فاصله و دش را نمی توانید از این لینک برای تست می توانید استفاده نمایید
آخه توی این لینک گفته هست .
https://www.regular-expressions.info/shorthand.html
\w stands for "word character". It always matches the ASCII characters [A-Za-z0-9_].
توکن \w هم نشونه ی کارکتر های حروفی هست دیگه . اسمشو داخل لینک زیر گفته که LOW LINE هست . نمیدونم شاید فرق داره با آندرلاین
https://stackoverflow.comquestions2998519/net-regex-what-is-the-word-character-w
کاراکتر (_) (آندرلاین) جز کاراکترهای حروفی محسوب نمی شود