مشکل در استفاده از regex در c++11 - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۲۱۹ نفر آنلاین
۵۴ عضو و ۱۶۵ مهمان در سایت حاضرند

مشکل در استفاده از regex در c++11

+1 امتیاز

سلام دوستان این کد من ارور رانتایم میده آیا ایرادی دارد؟ اگه میشه آموزش regex بزارید.

regex_match(string("ali"),regex("^[a-z]li$"));

ولی کد زیر رو ایراد نمیگیره و true برمیگردونه، مشکل چیست؟ چرا regex_error صدا میشه؟

regex_match(string("ali"),regex("..."));

 

سوال شده آذر 4, 1393  بوسیله ی asd666 (امتیاز 100)   1 3 10
ویرایش شده آذر 4, 1393 بوسیله ی asd666

2 پاسخ

+2 امتیاز
گد اولتون روداخل تست vs2013 کردم بدون مشکل اجرا میشه نتیجه خروجی هم true هست.

دلیل این که کد دوم true  بر می گردونه این هست که dot هر کاراکتری غیر از newline رو میگیره و 3 تا dot یعنی 3 تا کاراکتر پس طبیعی هم هست true برگشت داده میشه.
پاسخ داده شده آذر 5, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
+1 امتیاز

اولیه درسته به خاطر اینکه

رشته [a-z]^ میگوید هرگاه کرکتر اول یکی از حروف ای تا زی     کوچک بود درسته و برو کلمه بعدی

کلمه بعدی هم که ال هست که اون هم درسته

و در آخر میاد میگه حتما باید کرکتر آخر i باشه که اون هم درسته

در نتیجه عبارت هایی که در این چیز صدق میکنه و true میشه به ترتیب زیر هست

ali

bli

cli

dli

...

zli

و در مورد عبارت دوم هم که blue b درست گفته

پاسخ داده شده آذر 26, 1393 بوسیله ی Fire360Boy (امتیاز 2,524)   6 24 43
...