رشتهٔ گفتگو دوستان با رجکس میخوام بنویسم توی متنم اگر اعداد بین 20 تا 29 بود نمایش بده.
21 پیام · –S H # @hamid93eng پیشنهاد میکنم این regex ایشون رو تست کنید چون الان تو عکس اخر فقط بعدش رو دارید محدود میکنید(Lookahead After) و قبلش رو نه! مثلا 123 125dsad و... رو میگیره این رجکس ولی اینی که نوشتن قبل و بعدش رو هم محدود میکنه. (اون زمان که تست کردید و عکس دادید اشتباه نوشته بودید اون ج[0-9]2 باید وسطش میبود نه اولش) و همچنین میتونید اینشکلی بنویسید اگر قرار نیست مثلا همچین چیزی داشته باشید test22test test22... برای عدد هاتون جواب میده: grep -P "\b2[0-9]\b" your_fileS این regex از نظر عملکردی درست کار میکنه ولی مشکلی که داره اینکه پایتون فقط اجازه میده که lookbehind مقدار fixed داشته باشه (با lookafter کاری نداره گیرش به behind هست)و ما با or ای که گذاشتیم از حالت fixed درش آوردیم. PCRE این رو قبول میکنه ولی re عه پایتون نه. حالا من نمیدونم grep چطور کار میکنه. اگه اونم قبول کنه به نظر regex عه بهتریه.
M