إزالة كل شيء بين العلامة (بما في ذلك العلامة نفسها) باستخدام regex / eclipse
-
23-09-2019 - |
سؤال
أنا جديد إلى حد ما في معرفة كيفية عمل Regex ، لكن هذا الأمر محبط.
لدي وثيقة XML ضخمة مع الكثير منdescription>blahblahblah</description
> العلامات. أريد إزالة أي وجميع حالات <description></description>
.
أنا أستخدم Eclipse وقد جربت بعض الأمثلة على Regex التي وجدتها عبر الإنترنت ، ولكن لا شيء يعمل.
<description>(.*?)</description>
ألا يجب أن يعمل هذا؟
تعديل:
هنا هو الرمز الفعلي.
<description><![CDATA[<center><table><tr><th colspan='2' align='center'><em>Attributes</em></th></tr><tr bgcolor="#E3E3F3"><th>ID</th><td>308</td></tr></table></center>]]></description>
لا يوجد حل صحيح
نصائح أخرى
لست على دراية بـ Eclipse ، لكنني أتوقع أن تستخدم منشأة البحث REGEX نكهة regex المدمجة من Java. ربما تحتاج فقط إلى تحديد مربع يسمى "dotall" أو "خط واحد" أو شيء مشابه ، أو يمكنك إضافة المعدل المضمن المقابل إلى regex:
(?s)<description>(.*?)</description>
من شأنه أن يسمح .
لمطابقة الخطوط الجديدة ، وهو ما لا يكون افتراضيًا.
تحرير: هذا يفترض هناك نكون الخطوط الجديدة داخل <description>
العنصر ، وهذا هو السبب الوحيد الذي جعلني أفكر في سبب عدم عمل Regex الخاص بك. أنا أفترض أيضًا أنك تقوم حقًا بإجراء بحث regex ؛ هل هذا تلقائي في Eclipse ، أم أنه يتعين عليك الاختيار بين Regex والبحث الحرفي؟