टेक्स्ट और रोजमर्रा के टूल · टेक्स्ट टूलकिट
खोजने और बदलने में रेगेक्स कैप्चर समूह: $1, $2, $3 के साथ तिथियों को पुन: व्यवस्थित करें
· यह काम किस प्रकार करता है
regex ढूँढें और बदलें खजूर
दिखाता है कि कैसे कोष्ठक एक मैच के कुछ हिस्सों को कैप्चर करते हैं और कैसे $1, $2 और $3 क्लासिक ISO-टू-डे-महीने-ईयर डेट रीराइट और कुछ अन्य रीऑर्डरिंग का उपयोग करके उन्हें प्रतिस्थापन में पुन: उपयोग करते हैं।
गलत क्रम में चार सौ तारीखें - क्यों 2024-01-02 को 02/01/2024 में हाथ से संपादित करना कैप्चर समूहों का काम है
एक स्प्रेडशीट निर्यात ISO-शैली वर्ष-माह-दिन क्रम में चार सौ तारीखें छोड़ सकता है, जब UK वर्कशीट को दिन/month/year. की अपेक्षा होती है। हाथ से `2024-01-02` को `02/01/2024` में संपादित करना धीमा है, लेकिन बड़ा जोखिम असंगतता है: एक छोड़ी गई पंक्ति या ट्रांसपोज़्ड अंक एक रिपोर्ट वितरित होने तक जीवित रह सकता है।
ढूँढें और बदलें प्रत्येक तिथि को चार सौ असंबद्ध तारों के बजाय भागों की समान व्यवस्था के रूप में माना जा सकता है। एक नियमित अभिव्यक्ति वर्ष, महीने और दिन की पहचान करती है, जबकि प्रतिस्थापन उन कैप्चर किए गए हिस्सों को दूसरे क्रम में लिखता है। मूल अंकों का पुन: उपयोग किया जाता है, इसलिए ऑपरेशन मानों को दोबारा टाइप करने के बजाय संरचना को बदलता है।
कोष्ठक क्या दर्शाता है - प्रत्येक समूह को बाएँ से दाएँ एक संख्या कैसे मिलती है, और \d{4} और \d{2} क्या मेल खाते हैं
कोष्ठक कैप्चर समूह बनाते हैं. `(\d{4})-(\d{2})-(\d{2})` में, पहला समूह चार अंक कैप्चर करता है, दूसरा दो अंक कैप्चर करता है, और तीसरा दो अंक कैप्चर करता है। `\d` का अर्थ इस JavaScript पैटर्न में एक अंक है, जबकि `{4}` और `{2}` प्रत्येक समूह के अंदर आवश्यक दोहराव की सटीक संख्या निर्दिष्ट करते हैं।
जैसे ही इंजन बाएँ से दाएँ पढ़ता है, समूह प्रत्येक प्रारंभिक कोष्ठक से संख्याएँ प्राप्त करते हैं। `2024-01-02` के लिए, समूह 1 `2024` है, समूह 2 `01` है, और समूह 3 `02` है; हाइफ़न विभाजकों से मेल खाते हैं लेकिन कोष्ठक के बाहर बैठते हैं, इसलिए उन्हें कैप्चर किए गए मानों के रूप में बनाए नहीं रखा जाता है।
प्रतिस्थापन में $1, $2 और $3 का उपयोग करना - नए विभाजकों के साथ नए क्रम में मिलान का पुनर्निर्माण करना
प्रतिस्थापन `$3/$2/$1` JavaScript को तीसरा कैप्चर, एक स्लैश, दूसरा कैप्चर, दूसरा स्लैश और पहला कैप्चर सम्मिलित करने के लिए कहता है। उदाहरण पर लागू होने पर, वे संदर्भ `02/01/2024` उत्पन्न करते हैं। डॉलर संदर्भ प्रतिस्थापन निर्देश हैं, न कि पाठ जो मिलान तिथि में भी दिखाई देने चाहिए।
ToolAcre प्रतिस्थापन स्ट्रिंग को मानक JavaScript स्ट्रिंग प्रतिस्थापन ऑपरेशन में पास करता है। इसका स्रोत स्पष्ट रूप से `$1`, `$2` और `$3` जैसे क्रमांकित संदर्भों का समर्थन करता है, और खोज पैटर्न विश्व स्तर पर संकलित है। वह वैश्विक ध्वज यही कारण है कि प्रत्येक मिलान तिथि को केवल पहले मैच के बजाय एक ऑपरेशन में फिर से लिखा जाता है।
काम किया गया उदाहरण - (\d{4})-(\d{2})-(\d{2}) को $3/$2/$1, से बदल दिया गया, फिर पंक्ति गणना के विरुद्ध प्रतिस्थापन गणना की जाँच की गई
निर्यात किए गए कॉलम को पेस्ट करें, रेगेक्स चालू करें, फाइंड में `(\d{4})-(\d{2})-(\d{2})` दर्ज करें, और रिप्लेस में `$3/$2/$1` दर्ज करें। सभी बदलें का चयन करने से पहले मिलानों की गणना होती है और फिर उन्हें फिर से लिखा जाता है, इसलिए परिणाम रिपोर्ट करता है कि पूरे चिपकाए गए पाठ में कितने दिनांक-आकार के तार बदले गए थे।
परिणाम को वापस स्प्रेडशीट में कॉपी करने से पहले उस संख्या की अपेक्षित पंक्ति गणना से तुलना करें। कम गिनती किसी अन्य प्रारूप में रिक्त स्थान या तारीखों को इंगित करती है; अधिक संख्या का मतलब है कि समान पाठ अन्यत्र भी मेल खाता है। टूल में कोई प्रतिस्थापन-एक पूर्वावलोकन नहीं है, इसलिए यदि गिनती या आउटपुट एक व्यापक पैटर्न दिखाता है तो इसकी पूर्ववत कार्रवाई का उपयोग करें।
अधिक पुनर्क्रमण - 'उपनाम, प्रथमनाम' से 'प्रारंभिक उपनाम', और दो-स्तंभ वाली सूची के स्तंभों की अदला-बदली
वही सिद्धांत `Surname, Forename` को `Forename Surname` में बदल सकता है जब प्रत्येक पंक्ति में विश्वसनीय रूप से एक अल्पविराम होता है: `([^,]+), ([^\r\n]+)` ढूंढें और `$2 $1` से बदलें। यहां प्रत्येक समूह अंकों की एक निश्चित संख्या मानने के बजाय, ज्ञात विभाजक के एक तरफ के पाठ को कैप्चर करता है।
व्यापक रूपरेखा शब्दों के बावजूद, दो-स्तंभ स्वैप एक अंतर्निहित तालिका संचालन नहीं है। यह तभी काम करता है जब चिपकाए गए टेक्स्ट में एक भरोसेमंद सीमांकक होता है और पैटर्न पंक्ति सीमाओं का सुरक्षित रूप से वर्णन करता है। नामों के अंदर अल्पविराम, गायब फ़ील्ड, या असंगत टैब के लिए किसी भी थोक प्रतिस्थापन के भरोसेमंद होने से पहले सफाई या अधिक सटीक पैटर्न की आवश्यकता होती है।
अधिक पुनर्क्रमण केवल तभी काम करते हैं जब इनपुट में एक भरोसेमंद विभाजक होता है
किसी पैटर्न में एक बिंदु का मतलब लगभग कोई भी वर्ण होता है, इसलिए `(\d{4}).(\d{2}).(\d{2})` के रूप में लिखा गया दिनांक पैटर्न फ़ील्ड के बीच स्लैश, रिक्त स्थान या अक्षरों को भी स्वीकार करता है। `\.` के रूप में एक शाब्दिक बिंदु से बचें और अन्य मेटाकैरेक्टर से बचें जब उन्हें खुद से मेल खाना चाहिए। पाठ को बदले बिना एक अमान्य ब्रैकेट या अधूरा कोष्ठक रिपोर्ट किया जाता है।
समूह क्रमांकन 1 से प्रारंभ होता है, 0 से नहीं. डॉलर चिह्नों का भी विशेष प्रतिस्थापन अर्थ होता है: `$&` संपूर्ण मिलान सम्मिलित करता है और `$$` एक शाब्दिक डॉलर चिह्न उत्पन्न करता है। यह व्यवहार तब भी लागू होता है जब रेगेक्स मोड बंद होता है क्योंकि ToolAcre केवल खोज पक्ष से बच जाता है; JavaScript द्वारा इसे संसाधित करने से पहले यह प्रतिस्थापन स्ट्रिंग से बच नहीं पाता है।
इसमें क्या शामिल नहीं है - नामित समूह, लुकबैक और महीने के नाम जिनके लिए लुकअप तालिका की आवश्यकता होती है
क्रमांकित समूह किसी मिलान में पहले से मौजूद पाठ को पुनर्व्यवस्थित कर सकते हैं, लेकिन वे `Jan` को `01` में अनुवाद नहीं कर सकते क्योंकि इसके लिए पुन: व्यवस्थित करने के बजाय लुकअप की आवश्यकता होती है। यह आलेख नामित समूहों या लुकबैक पर भी भरोसा नहीं करता है, जिनकी उपयोगिता और ब्राउज़र समर्थन में इस सरल निर्यात क्लीनअप की तुलना में विकल्पों का एक अलग सेट शामिल है।
दिनांक अभिव्यक्ति आकार की जाँच करती है, कैलेंडर सत्य की नहीं। यह `2024-99-88` से मेल खाएगा क्योंकि दो अंक प्रत्येक छोटे समूह को संतुष्ट करते हैं। जब शुद्धता मायने रखती है तो स्प्रेडशीट या स्रोत प्रणाली में तारीखों को मान्य करें। ढूँढें और बदलें लगातार फ़ॉर्मेटिंग के लिए उपयुक्त है, न कि यह साबित करने के लिए कि कैप्चर किया गया प्रत्येक महीना और दिन वैध है।
टेकअवे - एक पैटर्न, एक प्रतिस्थापन, टेक्स्ट टूलकिट में प्रत्येक पंक्ति को एक बार में तय किया गया, यदि परिणाम आपकी अपेक्षा के अनुरूप नहीं है तो पूर्ववत करें
कैप्चर समूह एक मिलान स्ट्रिंग को पुन: प्रयोज्य टुकड़ों में बदल देते हैं। एक समान दिनांक कॉलम के लिए, तीन समूह मूल वर्ष, माह और दिन को सुरक्षित रखते हैं जबकि `$3/$2/$1` उन्हें UK क्रम में रखते हैं। वैश्विक खोज सभी मिलानों को संभालती है, और रिपोर्ट की गई गिनती उन पंक्तियों की संख्या के विरुद्ध तत्काल जांच प्रदान करती है जिन्हें आप बदलना चाहते हैं।
वर्कफ़्लो को समीक्षा योग्य रखें: निर्यात की एक प्रति बनाए रखें, उस पर फिट होने वाले सबसे संकीर्ण पैटर्न का उपयोग करें, गिनती की तुलना करें, कई परिणामों का निरीक्षण करें, और जब सबूत आपकी अपेक्षा से असहमत हों तो उन्हें पूर्ववत करें। एक सुव्यवस्थित प्रतिस्थापन दोहराए जाने वाले संपादन को हटा सकता है बिना यह दिखावा किए कि प्रत्येक अंक-आकार का मान स्वचालित रूप से एक वैध तिथि है।