2014-06-24 3 views
26

मैं एक रेगेक्स बनाने की कोशिश कर रहा हूं जो आवरण को अनदेखा कर देगा। तो बुनियादी तौर पर मैं इनRegEx Ignore Case

मैं trie इस घ, लेकिन यह काम नहीं करता है:

/^[A-Za-z0-9._+\-\'][email protected]+(?i)+test.com$/; 

मैं के उपयोग के बारे कहीं पढ़ा है, लेकिन किसी भी उदाहरण जो regex में उनके उपयोग को दिखाने के आवरण को अनदेखा करने की नहीं पा सके (मैं?)। कोई विचार करता है? आपका अग्रिम रूप से बोहोत धन्यवाद।

+2

यहां "झंडे के साथ उन्नत खोज" की तलाश करें https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions – elclanrs

+0

धन्यवाद, मुझे लेख उपयोगी पाया गया। – Nanu

उत्तर

61

ध्वज अंत में जाते हैं।

/regex/i 

i केस-संवेदी के लिए है (या दर-मामला ध्यान न दें)

+0

धन्यवाद, यह काम किया। मुझे आश्चर्य है कि इसका उपयोग करने के लिए बहुत सारे संदर्भ क्यों नहीं हैं। इतनी छोटी लेकिन शक्तिशाली चीज। – Nanu

+0

हर जगह संदर्भ हैं; यह भी [अप्रत्यक्ष रूप से इस प्रश्न का उत्तर दिया गया है] (http://stackoverflow.com/questions/1186058/) – Mathletics

+0

शायद आपको नहीं पता था कि इसे _flags_ कहा जाता है? "जेएस झंडे" के लिए एक Google खोज 122,000 परिणाम लाती है। – Mathletics

-2

सरल और सीधा, regex अभिव्यक्ति निम्नलिखित उपयोग।

(?i)^[A-Za-z0-9._\-\'][email protected]$

+0

'(? I)' ध्वज जावास्क्रिप्ट में भी काम नहीं करता है। साथ ही, कृपया उस लिंक को बढ़ावा न दें जो आपके उत्तर से सीधे प्रासंगिक नहीं है। –

+2

इतनी नफरत क्यों?मैं जेएस की तलाश नहीं कर रहा हूं लेकिन यह वास्तव में अच्छा था और जहां मुझे जरूरत थी वहां काम किया। – cbaldan

11

किसी और को जो यहाँ आता है, इस की तलाश में है, तो आप कोड है कि RegExp निर्माता उपयोग कर रहा है आप भी एक दूसरे तर्क के रूप में झंडे को निर्दिष्ट करके ऐसा कर सकते हैं मिल गया है के लिए:

new RegExp(pattern[, flags]) 

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/RegExp

उदाहरण के लिए:

var pattern = /^[A-Za-z0-9._+\-\'][email protected]+test.com$/; 
var regExp = new RegExp(pattern, "i");