Regular Expressions
मैच रीसेट: \ K
खोज…
टिप्पणियों
Regex101 के रूप में \ K कार्यक्षमता को परिभाषित करता है:
\K
रिपोर्ट किए गए मैच के शुरुआती बिंदु को रीसेट करता है। पहले से उपभोग किए गए कुछ पात्र अब अंतिम मैच में शामिल नहीं हैं
\K
एस्केप अनुक्रम कई इंजनों, भाषाओं या उपकरणों द्वारा समर्थित है, जैसे:
- बढ़ावा (??? के बाद से)
- grep -P re PCRE का उपयोग करता है
- ओनिगुरुमा (5.13.3 के बाद से )
- PCRE ( 7.2 के बाद से )
- पर्ल ( 5.10.0 से )
- PHP ( 5.2.4 के बाद से )
- रूबी (2.0.0 से)
... (अब तक) द्वारा समर्थित नहीं:
\ K ऑपरेटर का उपयोग करके खोजें और बदलें
पाठ को देखते हुए:
फू: बार
मैं "फू:" के बाद "फू" के बाद कुछ भी बदलना चाहूंगा, लेकिन मैं "फू:" रखना चाहता हूं। यह इस तरह एक कैप्चरिंग ग्रुप के साथ किया जा सकता है:
s/(foo: ).*/$1baz/
पाठ में कौन से परिणाम हैं:
फू: बाज
या हम \K
उपयोग कर सकते हैं, जो इस तरह के पैटर्न के साथ पहले से मिलान किए गए "सभी" को भूल जाता है:
s/foo: \K.*/baz/
रेगेक्स "फू:" से मेल खाता है और फिर \K
सामना करता है, पहले के मैच वर्णों को लिया जाता है और रेगेक्स द्वारा छोड़ दिया जाता है जिसका अर्थ है कि केवल स्ट्रिंग से मिलान किया गया है .*
"बाज" द्वारा प्रतिस्थापित किया जाएगा, जिसके परिणामस्वरूप पाठ होगा।
फू: बाज