مشكلة مع استبدال التعبير العادية في Visual Studio 2003

StackOverflow https://stackoverflow.com/questions/1042046

  •  22-07-2019
  •  | 
  •  

سؤال

وأنا في عملية تحويل بعض الوثائق اللثي إلى نص إعادة هيكلة وجود بعض المشاكل مع تعبير عادي في Visual Studio 2003. أنا أحاول تحويل \ emph {نص} إلى * نص * باستخدام الاكتشاف التالية / استبدال السلاسل:

\\emph\{([^\}]*)\} 

*\0*

ولكن، \ emph {نص} تحويلها باستخدام هذا الزوج أحصل على * \ emph {نص} * التي لم يكن ما كنت أتوقع. عند استخدام * \ 1 * بدلا من * \ 0 * أحصل ** نتيجة الاستبدال.

ما أنا في عداد المفقودين أو ما لا أفهم حول قواعد التجمع؟

وشكرا.

هل كانت مفيدة؟

المحلول

وأعتقد أن في بناء الجملة استبدال باستخدام التعابير المنطقية VS، \ 0 هو السلسلة كلها المتطابقة، بينما \ 1 هو محتوى متغير القبض على الأول (\ 2 كونها ثاني وهلم جرا). لذلك:

<اقتباس فقرة>   

\ 0

     

ولكن استخدام هذا الزوج أحصل   \ emph {نص} تحويلها إلى * \ emph {نص} *   الذي لم يكن ما كنت أتوقع.

وهكذا يؤكد، \ 0 هو السلسلة كلها مطابقة.

<اقتباس فقرة>   

عند استخدام I * \ 1 * بدلا من * \ 0 * أحصل ** نتيجة الاستبدال.

وربما كنت لا مطابقة أي شيء في فئة القبض عليه.

لإضافة المزيد من التفاصيل، وبناء الجملة من أجل تعريف الطبقة القبض على (تسمى التعبير الموسومة في <لأ href = "http://msdn.microsoft.com/en-us/library/2k3te2cs(VS.80).aspx "يختلط =" نوفولو noreferrer "> مستندات ) يستخدم الأقواس {}، وليس قوسين () كما كنت تستخدم هنا. ربما هذا العمل كوسيلة للتعبير "العثور على":

\\emph\{{[^\}]*}\} 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top