के बीच है मैं निम्नलिखित स्ट्रिंग है:Regex टेक्स्ट को बदल दें लेकिन को बाहर जब पाठ विशिष्ट टैग
Lorem ipsum Test dolor sit amet, consetetur sadipscing elitr, sed diam nonumy <a href="http://Test.com/url">Test</a> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd sed Test dolores et ea rebum. Stet clita kasd gubergren, no sea <a href="http://url.com">Test xyz</a> takimata sanctus est Lorem ipsum dolor sit amet.
अब मैं स्ट्रिंग टैग टैग के बीच एक नहीं (जैसे '1234' के साथ बदल के 'टेस्ट' के बाहर की जगह लेंगे)। (?!<a[^>]*>)(Test)([^<])(?!</a>)
लेकिन दो समस्याओं को हल नहीं कर रहे हैं:
- पाठ 'टेस्ट' भी अंदर टैग प्रतिस्थापित हो जाता है (उदाहरण के लिए)
- पाठ करता है
Lorem ipsum 1234 dolor sit amet, consetetur sadipscing elitr, sed diam nonumy <a href="http://Test.com/url">Test</a> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd sed 1234 dolores et ea rebum. Stet clita kasd gubergren, no sea <a href="http://url.com">Test xyz</a> takimata sanctus est Lorem ipsum dolor sit amet.
मैं इस regex के साथ शुरू टैग के बीच बिल्कुल खोजे गए पाठ से मेल नहीं खाता है, इसे भी बदला जाएगा (उदाहरण के लिए
<a href="http://url">Test xyz</a>
)
मुझे आशा है कि किसी को इस समस्या को हल करने का समाधान होगा।
मैं भी \ b झंडा एक शब्द सीमा मैच के लिए कहा: (?!? ] *>) (\ bTest \ ख) (?! [^ <]*?) – Weri
जो रेगेक्स अनुकूलक को काम करने के लिए और अधिक देना चाहिए। यह आपके मैचों में प्रतिकूल रूप से प्रभावित नहीं होना चाहिए, जब तक कि आपके दस्तावेज़ में '_Test_, _Test, या Test_' नहीं हैं (और मानते हैं कि यदि आप थे तो आप उन्हें मिलान करने की परवाह नहीं करेंगे)। – protist
टेस्ट और आलसी मैच से पहले देखा गया अर्थहीन है। मेरा जवाब देखें मेरे लिए – Adam