\\0
एक बैकरेफर है जो उस बिंदु पर पूरे रेगेक्स मैच को सम्मिलित करता है। देखने के लिए कि क्या मतलब हो सकता है निम्नलिखित की तुलना करें:
sub("he", "", "hehello")
## [1] "hello"
sub("he\\0", "", "hehello")
## [1] "llo"
"001.csv"
या
"009.csv"
तरह तार के साथ
, क्या होता है कि .*
मैचों वर्ण शून्य है, \\0
उन शून्य वर्ण एक बार दोहराता है, और 00
पहले दो मैचों स्ट्रिंग में शून्य। सफलता!
यह पैटर्न क्योंकि यह कुछ भी मैच के लिए कि दोगुनी है और फिर तुरंत दो 0
रों के बाद नहीं मिल सकता है नहीं मैच "100.csv"
या "010.csv"
होगा। यह होगा, हालांकि, "1100.csv"
से मेल खाता है, क्योंकि यह 1
से मेल खाता है, फिर इसे दोगुना करता है, और फिर दो 0
एस पाता है।
तो, ".*\\000"
xx00
से शुरू होने वाली किसी भी स्ट्रिंग से मेल खाने के लिए x
शून्य या अधिक वर्णों के किसी भी सबस्ट्रिंग के लिए खड़ा है। यही है, यह दो बार दोहराया जाता है और फिर दो शून्य से अनुयायी होता है।
स्रोत
2015-01-07 22:07:22
आप उस आदेश के साथ कैसे आए? मैं चौंक गया यह काम किया। मुझे लगता है कि आपको "" 00 \\ d \\। Csv | 010 \\। Csv "जैसा कुछ लगता है, इस पर निर्भर करता है कि आपको कितना विशिष्ट होना चाहिए। – Gregor
मुझे नहीं लगता था कि "\\ 0" 'वैसे भी एक वैध रेगेक्स एस्केपमेंट था, जब तक इसे '0" ' –
ग्रेगोर के रूप में नहीं माना जाता है, तो मैंने 00 *, 0 * 0, * 00 की विविधताओं के साथ शुरुआत की, के बारे में पढ़ें। * \\ कहीं। मैं इसके साथ गड़बड़ कर दिया। * \\ यह जानने के बिना कि यह वास्तव में क्या करता है। यह सिर्फ मेरे लिए काम खत्म हो गया। – Chris