PDA

View Full Version : روش استفاده از Regex در زبان برنامه نویسی #C



jojoba2010
یک شنبه 09 مهر 1391, 21:42 عصر
با سلام و خسته نباشید.
یک سوال در رابطه با Regx در #C می خواستم.
می خواهم در یک متن تمام کلماتی که برای مثال از سه حرف "ع م ل" به ترتیب در ساختارشان دارند را مشخص و شمارش کند. یعنی تمام کلماتی که از «عمل» مشتق شده اند را بیابد.
مثال : اعمال ، عمل ، معمول ، معامله ، تعمیل ، ... مورد تایید می باشد.
اما : معلوم ، اعلام ، ... مورد تایید نمی باشد.

یعنی باید به ترتیب ع بعد م بعد ل در هر کجای کلمه که باشد مهم نیست اما ترتیب مهم است.

فقط به کمک Regex می خواهم.

با تشـــــــــــــــــــــــ ــکر
jojoba

tooraj_azizi_1035
دوشنبه 10 مهر 1391, 08:16 صبح
می تونی از این منبع استفاده کنی: http://www.farsimsdn.somee.com/default.aspx?id=17

البته راه ساده ای هم هست که بیای از متد Contains برای تشخیص اینکه هر سه حرف در یک کلمه وجود داره استفاده کنی و بعد شرط بذاری که اگه اندیس ع از اندیس م کوچکتر بود و همچنین اندیس م از اندیس ل کوچکتر بود در این صورت اون کلمه رو برگردون.
می تونی با متد Split اول رشته رو به آرایه ای از کلمات تبدیل کنی.

jojoba2010
دوشنبه 10 مهر 1391, 09:40 صبح
با سلام و تشکر از راهنمایی شما.
من زیاد متوجه مورد یک یعنی : http://www.farsimsdn.somee.com/default.aspx?id=17 نشدم.در صورت امکان می توانید pattern مورد نظر را ایجاد نمایید .
از روش دوم نمی خواهم استفاده کنم زیرا حتما باید با Regx استفاده کنم.

با تشکر
jojoba

jojoba2010
سه شنبه 11 مهر 1391, 11:17 صبح
با سلام
مشکل حل گردید :


Regex rx = new
Regex(@"([\w]*)ع([\w]*)ل([\w]*)م([\w]*)");
MatchCollection matches =rx.Matches("بیالیبلمیبالیبلعسیلسیبلسی بلم معلم عالم معلوم معالم معالام عام");
int ii = matches.Count;