2010-01-20 16 views
7

में लाइन की शुरुआत से मेल खाता है मेरे पास एक स्ट्रिंग वेरिएबल है जिसमें इसमें कई न्यूलाइन हैं और मैं परीक्षण करना चाहता हूं कि स्ट्रिंग की शुरुआत नियमित अभिव्यक्ति से मेल खाती है या नहीं। हालांकि, जब मैं ^ वर्ण का उपयोग करता हूं, तो यह प्रत्येक न्यूलाइन पर शुरू होने वाले पाठ के विरुद्ध मेल खाता है।रूबी regexp

मैं इस मैच के लिए करना चाहते हैं:

"foo\nbar" =~ /^foo/ 

और मैं इस से मेल नहीं करने के लिए

"bar\nfoo" =~ /^foo/ 

मैं एक आपरिवर्तक कि ^ बनाता है (या किसी अन्य) चरित्र मैच नहीं मिल सकता है चाहता हूँ केवल स्ट्रिंग की शुरुआत। किसी भी मदद की बहुत सराहना की।

उत्तर

12

रूबी में, देखभाल और डॉलर हमेशा न्यूलाइन के पहले और बाद में मेल खाते हैं। रूबी को बदलने के लिए एक संशोधक नहीं है। स्ट्रिंग के प्रारंभ या अंत में मिलान करने के लिए \ A और \ Z का उपयोग करें।

देखें: http://www.regular-expressions.info/ruby.html

1

से "प्रोग्रामिंग रूबी"

'\A 
    Matches the beginning of the string. '