2012-12-08 3 views
15

कैसे की तरह एक URL से मेल करने के लिए (: पोस्ट, "www.example.com")वेबमैक रेगेक्स मैचर का उपयोग कैसे करें?</p> <pre><code>http://www.example.com/foo/:id/bar http://www.example.com/foo/1/bar http://www.example.com/foo/999/bar </code></pre> <p>stub_request:

+0

आप एक Regexp URL प्रतिमानों से मिलान करने के लिए देख रहे हैं? – user2398029

+0

हां। बस इतना ही। –

उत्तर

11

http://www\..*?\.com/foo/\d+/bar आप के लिए काम करना चाहिए।

+0

'.. *?' क्या है? –

+4

@BSeven '\ .''। * डॉट कैरेक्टर से बच रहा है जबकि '। *? 'का अर्थ है किसी भी चरित्र (डॉट कैरेक्टर का मतलब किसी भी चरित्र) शून्य या अधिक बार (' * 'शून्य या अधिक बार' + ' 1 या अधिक बार है) और इसे गैर लालची (प्रश्न चिह्न '? ') बनाते हैं, इसलिए यह' .com 'हिट होने पर ही दिखता है। – Jack

12

stub_request के लिए दूसरा तर्क एक नियमित अभिव्यक्ति होना चाहिए, स्ट्रिंग नहीं।

stub_request(:post, /http:\/\/www.example.com\/foo\/\d+\/bar/) 
17

आप रूबी में आपका रेगुलर एक्सप्रेशन के लिए %r{} बजाय // का उपयोग आगे यूआरएल में स्लैश से बचने के लिए होने से बचने कर सकते हैं। उदाहरण के लिए:

stub_request(:post, %r{\Ahttp://www.example.com/foo/\d+/bar\z}) 
संबंधित मुद्दे