التعبير العادية: ايجاد واستبدال كل مباراة

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

  •  10-07-2019
  •  | 
  •  

سؤال

وأنا بحاجة إلى تغيير العناصر التي تحيط بعض المحتويات في سلسلة، وترك المحتوى كما هو. أنا أفعل ذلك مع التعبير العادي، ولكن عندما استبدال باستخدام المعلمة الموضعية ($ 1)، ويستخدم فقط في المباراة الأولى.

وعلى سبيل المثال، إذا كان لدي هذه السلسلة:

<strong>I want</strong> to change <i>this</i> text, 
but <u>I can't</u>. <div class="question">Why?</div>.

وأريد تغييره إلى:

<strong>I want</strong> to change <i>this</i> text, 
but <u>I can't</u>. <div class="question">Why?</div>.

ولكن لا يسعني إلا أن الحصول على هذا:

<strong>I want<strong> to change <strong>this<strong> text, 
but <strong>I can't<strong>. <strong>Why?<strong>.

وأنا باستخدام التعابير المنطقية التالية:

\x26lt;(.*?)\x26gt;

و(على الصعيد العالمي، واستبدالها "<$1>")

واعتقد ان المشكلة هي أنني لا أستطيع أن أقول كم عدد المباريات ويمكن العثور عليها، وكيفية الرجوع إلى كل واحد. ربما في بيرل كان يمكن أن تستخدم $ +، ولكن هذا لا يعمل. أنا أفعل هذا مع وحدة التعابير المنطقية أنابيب ياهو. وينبغي أن تكون مشابهة جدا لimplemenations PHP، AFAIK.

وكيف يمكن استخدام كل مباراة على حدة في أنابيب ياهو؟

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

المحلول

قد يكون من الأسهل ليحل محل &lt; و&gt; بشكل مستقل. وبهذه الطريقة يصبح مجرد العثور علي الاستعاضة عن ذلك لا تحتاج إلى استخدام العودة المراجع.

نصائح أخرى

ويجب أن تكون قادرة على القيام بعملية واحدة إذا كنت اضغط على مربع g، كما في هذه الصورة: ...
<الفرعية> (المصدر: aleax.it )

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top