البرمجة

Regex Matching Single Character in C++

للتطابق مع الرمز “=” فقط وليس “==”, يمكنك استخدام النمط التالي:

cpp
#include #include #include int main() { std::string line = "if(y == 5 || x = 1) {"; std::regex pattern("\\b(=)\\b"); std::smatch match; if (std::regex_search(line, match, pattern)) { std::cout << "Matched: " << match.str(1) << std::endl; } else { std::cout << "No match found." << std::endl; } return 0; }

هذا النمط \\b(=)\\b يستخدم “حدود الكلمة” (\\b) للتأكد من أن الرمز “=” ليس جزءًا من كلمة. تذكر أيضًا أنه يستخدم المجموعة الفرعية (=) لالتقاط الرمز “=” فقط.

المزيد من المعلومات

بالطبع! يمكنك استخدام الرمز \b في تعبير ال regex لتحديد حدود الكلمة، حيث يعني \b بداية أو نهاية كلمة. وبالنسبة للتعبير الذي استخدمته \\b(=)\\b، فإن (=) هو ما يسمى بـ “مجموعة فرعية” (capturing group) وهو يعني أننا نريد التطابق بشكل خاص مع الرمز “=”، وليس فقط أي حرف.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر