ورود

View Full Version : سوال: عبارت باقاعده: با حرف d یا D شروع نشود و در ادامه پنج عدد نیاید



angle25
پنج شنبه 11 مهر 1387, 12:39 عصر
با سلام
من عبارت با قاعده زیر رو برای کنترل TextBox نوشتم،چطور میتونم اون رو طوری تغییر بدم که کاربر اجازه ورود مقادیری را داشته باشد که مخالف این قاعده هستند.
در واقع کاربر نتواند رشته ای را که با حرف D یا d شروع می شود و در ادامه 5 رقم مابین 0 تا 9 قرار میگیرد،وارد کند.


d|D[0-9][0-9][0-9][0-9][0-9]

milade
پنج شنبه 11 مهر 1387, 13:43 عصر
فکر کنم این بشه:

?<!=(d|D[0-9][0-9][0-9][0-9][0-9])
مطمعن نیستم
موفق باشی

Behrouz_Rad
پنج شنبه 11 مهر 1387, 19:15 عصر
angle25@
عبارت باقاعده ای که نوشتی، اشتباست و اون کار که میخوای رو انجام نمیده!
عبارتی که نوشتی، تمامی عباراتی "در هر جای متن" که یا "با حرف d شروع میشن"، یا "با حرف D شروع میشن و در ادامه ی اونها چهار عدد بین صفر تا 9 هست" رو تطبیق میده!
صحیحش به شکل ذیل میشه:


^(d|D)[0-9][0-9][0-9][0-9][0-9]$

و برای بالعکس، یعنی اون حالتی که مد نظرت هست:


^([^dD])(\d\d\d\d\d)$


@milade
Negative LookBehind اصلاً در اینجا کاربردی نداره!

موفق باشید.