2012-04-21 7 views
6

की जगह मैं बहु स्ट्रिंग इस तरह, फ़ाइल में की जगह की जरूरत है। चींटी कोड:चींटी replaceregex बहु

<copy file="${file}" tofile="${newFile}" overwrite="true"> 
     <filterchain> 
      <replaceregex pattern="startString(.+)endString" replace="zzz" flags="gmi" byline="true"/> 
     </filterchain>  
    </copy> 

की जगह के लिए पाठ सिंगल लाइन है - सब काम करता है सही है, लेकिन जब पाठ बहु है - replaceregex काम नहीं करता। मुझे अपने कोड में क्या ठीक करना चाहिए?

उत्तर

17

आपको कुछ बदलाव करने की आवश्यकता है। ऐसी कुछ सेटिंग्स हैं जिन्हें आपने सुझाव दिया था कि इनपुट की प्रत्येक पंक्ति को इनपुट की एक अलग पंक्ति माना जाना चाहिए जो byline विशेषता और m ध्वज है। निम्नलिखित में मैं उन को हटा दिया है और यह भी s ध्वज जो इनपुट इनपुट की एक पंक्ति फाइल व्यवहार करता है कहा:

<replaceregex pattern="startString(.+?)endString" replace="zzz" 
    flags="gis" byline="false"/> 

इसके अलावा regex में ? के अलावा ध्यान दें, इस मामले में वाइल्डकार्ड गैर लालची बनाता है आपके पास कई घटनाएं हैं जिन्हें आप मिलान करना चाहते हैं।

अधिक के लिए चींटी ReplaceRegExp दस्तावेज़ देखें।

+0

धन्यवाद, मेरे लिए यह सहायक है – Alexey