खोज…


टिप्पणियों

Regex101 के रूप में \ K कार्यक्षमता को परिभाषित करता है:

\K रिपोर्ट किए गए मैच के शुरुआती बिंदु को रीसेट करता है। पहले से उपभोग किए गए कुछ पात्र अब अंतिम मैच में शामिल नहीं हैं

\K एस्केप अनुक्रम कई इंजनों, भाषाओं या उपकरणों द्वारा समर्थित है, जैसे:

... (अब तक) द्वारा समर्थित नहीं:

  • नेट
  • awk
  • दे घुमा के
  • जीएनयू
  • आईसीयू
  • जावा
  • जावास्क्रिप्ट
  • Notepad ++
  • उद्देश्य सी
  • POSIX
  • अजगर
  • क्यूटी / QRegExp
  • sed
  • Tcl
  • शक्ति
  • एक्सएमएल
  • XPath

\ K ऑपरेटर का उपयोग करके खोजें और बदलें

पाठ को देखते हुए:

फू: बार

मैं "फू:" के बाद "फू" के बाद कुछ भी बदलना चाहूंगा, लेकिन मैं "फू:" रखना चाहता हूं। यह इस तरह एक कैप्चरिंग ग्रुप के साथ किया जा सकता है:

s/(foo: ).*/$1baz/

पाठ में कौन से परिणाम हैं:

फू: बाज

उदाहरण 1

या हम \K उपयोग कर सकते हैं, जो इस तरह के पैटर्न के साथ पहले से मिलान किए गए "सभी" को भूल जाता है:

s/foo: \K.*/baz/

रेगेक्स "फू:" से मेल खाता है और फिर \K सामना करता है, पहले के मैच वर्णों को लिया जाता है और रेगेक्स द्वारा छोड़ दिया जाता है जिसका अर्थ है कि केवल स्ट्रिंग से मिलान किया गया है .* "बाज" द्वारा प्रतिस्थापित किया जाएगा, जिसके परिणामस्वरूप पाठ होगा।

फू: बाज

उदाहरण 2



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow