العربية
فتح في Telegram

سلسلة دوستان با رجکس میخوام بنویسم توی متنم اگر اعداد بین 20 تا 29 بود نمایش بده.

21 رسالة · –
H
دوستان با رجکس میخوام بنویسم توی متنم اگر اعداد بین 20 تا 29 بود نمایش بده. چطور باید بنویسم؟
  1. S
    یه تست بگیرین: (?<=\D|^)2[0-9](?=\D|$)
    1. H
      ارور پرانتر میده ولی با همون قسمت 2[0-9] اوکی شد. ممنون 👍
          1. A
            خب داداش باید تو دابل کوتیشن بذاریشون
            1. H
              صورة
              انقر للعرض
              اینطوری؟
                1. H
                  خب خروجی نداد در صورتی که توی فایل دارم اون دیتا رو
          2. S
            فهمیدم مشکل از چیه، من regex عه پایتونی نوشتم احتمالا اون علامت ها برای رجکس زبان دیگه ای کار نکنه.
            1. S
              ببخشید برعکس. :)) PCRE نوشتم ، برا پایتون کار نمیکنه اینجارو ببینید :
    2. #
      @hamid93eng پیشنهاد میکنم این regex ایشون رو تست کنید چون الان تو عکس اخر فقط بعدش رو دارید محدود میکنید(Lookahead After) و قبلش رو نه! مثلا 123 125dsad و... رو میگیره این رجکس ولی اینی که نوشتن قبل و بعدش رو هم محدود میکنه. (اون زمان که تست کردید و عکس دادید اشتباه نوشته بودید اون ج[0-9]2 باید وسطش میبود نه اولش) و همچنین میتونید اینشکلی بنویسید اگر قرار نیست مثلا همچین چیزی داشته باشید test22test test22... برای عدد هاتون جواب میده: grep -P "\b2[0-9]\b" your_file
      1. S
        این regex از نظر عملکردی درست کار میکنه ولی مشکلی که داره اینکه پایتون فقط اجازه میده که lookbehind مقدار fixed داشته باشه (با lookafter کاری نداره گیرش به behind هست)و ما با or ای که گذاشتیم از حالت fixed درش آوردیم. PCRE این رو قبول میکنه ولی re عه پایتون نه. حالا من نمیدونم grep چطور کار میکنه. اگه اونم قبول کنه به نظر regex عه بهتریه.
        1. #
          صورة
          انقر للعرض
          بله درسته پایتون اون or رو قبول نمیکنه و ارور میده، اونجا منظورم عکس اخرشون بود که lookbehind رو ست نکرده بودن و فقط lookafter رو ست کرده بودن. تو grep با پترن p- جواب میده مشکلی با orش نداره .
          1. S
            عه پس درست بود 🤔👍🏻 الان نگاه کردم دیدم : *grep* understands three different versions of regular expression syntax: basic (BRE), extended (ERE), and Perl-compatible (PCRE).
  2. M
    با find all بزن دیگه اگر میخوای اعداد رو در بیاری
PPython + Linux ExpertsPython + Linux Experts@PythonLinuxExperts · مجموعة · التقنية
4 287أعضاء21يكتبون خلال 30 يومًا
خلاصة المجتمع فتح في Telegram

خلاصة عامة مفتوحة من فهرس البحث ChatCrawler — «Google لـ Telegram العام»؛ تُحدَّث كلما زحفنا إلى المجتمع. الأوقات بتوقيت UTC.

محتوى عام فقط، وAPI Telegram الرسمي. عن المشروع · الأسئلة الشائعة · حدود الفهرس · إزالة صفحة · الدليل · بحث · كيف نحسب