البرمجة

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) وهو يعني أننا نريد التطابق بشكل خاص مع الرمز “=”، وليس فقط أي حرف.

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

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

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!