{if $Think.config.hi.regexdso.status == '1'} {/if

सामान्य नियमित अभिव्यक्तियाँ

विवरण regex
वेबसाइट (URL) [a-zA-z]+://[^\s]*
IP पता (IP Address) ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
ईमेल पता \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
QQ नंबर [1-9]\d{4,}
HTML टैग (सामग्रीयों के साथ या आत्म-समापन) <(.*)(.*)>.*<\/\1>|<(.*) \/>
पासवर्ड (अंक/बड़े अक्षर/छोटे अक्षर/विशेष चिन्हों से बना, चारों में से होना जरूरी, 8 वर्णों से अधिक) (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$
तारीख (वर्ष- माह- दिन) (\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))
तारीख (माह/दिन/वर्ष) ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})
समय (घंटी:मिनट, 24 घंटे का प्रारूप) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
汉字 (字符) [\u4e00-\u9fa5]
चाइनीज़ और पूर्ण विराम चिन्ह (字符) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
चीन मुख्य भूमि का स्थायी फोन नंबर (\d{4}-|\d{3}-)?(\d{8}|\d{7})
चीन मुख्य भूमि का मोबाइल नंबर 1\d{10}
चीन मुख्य भूमि का डाक कोड [1-9]\d{5}
चीन मुख्य भूमि का पहचान पत्र (15 या 18 अंक) \d{15}(\d\d[0-9xX])?
गैर-नकारात्मक पूर्णांक (धनात्मक पूरी संख्या या शून्य) \d+
धनात्मक पूर्णांक [0-9]*[1-9][0-9]*
ऋणात्मक पूर्णांक -[0-9]*[1-9][0-9]*
पूर्णांक -?\d+
दशमलव (-?\d+)(\.\d+)?
abc को न शामिल करने वाले शब्द \b((?!abc)\w)+\b
विवरण regex
उपयोगकर्ता नाम /^[a-z0-9_-]{3,16}$/
पासवर्ड /^[a-z0-9_-]{6,18}$/
हैक्साडिसिमल मान /^#?([a-f0-9]{6}|[a-f0-9]{3})$/
ई-मेल /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
IP पता /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
HTML टैग /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
Unicode कोड में चाइनीज़ वर्णों की रेंज /^[u4e00-u9fa5],{0,}$/
चाइनीज़ वर्णों से मेल खाने वाली regex [\u4e00-\u9fa5]
टिप्पणी: चाइनीज़ वर्णों से मेल खाना सच में एक सिरदर्द बना रहता है। इस अभिव्यक्ति से यह आसान हो गया है।
डुअल बाइट वर्णों (चाइनीज़ वर्णों सहित) का मिलान [^\x00-\xff]
टिप्पणी: इसका उपयोग स्ट्रिंग की लंबाई की गणना करने के लिए किया जा सकता है (एक डुअल बाइट वर्ण की लंबाई 2 मानी जाएगी, ASCII वर्ण 1 में)।
खाली पंक्तियों का मिलान करने वाली regex \n\s*\r
टिप्पणी: इसका उपयोग खाली पंक्तियों को हटाने के लिए किया जा सकता है।
HTML टैग की regex <(\S*?)[^>]*>.*?</\1>|<.*?/>
टिप्पणी: ऑनलाइन उपलब्ध संस्करण बहुत खराब हैं। उपरोक्त केवल कुछ को ही मेल खा सकते हैं। यह जटिल नेस्टेड टैग के लिए अभी भी असमर्थ है।
प्रारंभ और अंत के खाली वर्णों की regex ^\s*|\s*$
टिप्पणी: इसका उपयोग लाइन की शुरुआत और अंत में खाली वर्णों (जैसे स्पेस, टैब, पेज ब्रेक आदि) को हटाने के लिए किया जा सकता है। यह एक बहुत उपयोगी अभिव्यक्ति है।
ईमेल पते की regex \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
टिप्पणी: फॉर्म सत्यापन में उपयोग में लाता है।
URL का मिलान करने वाली regex [a-zA-z]+://[^\s]*
टिप्पणी: ऑनलाइन उपलब्ध संस्करण की कार्यक्षमता बहुत सीमित है। उपरोक्त अब基本 रूप से आवश्यकताओं को पूरा कर सकते हैं।
खाते की वैधता की जांच करना (अक्षर की शुरुआत, 5-16 वर्णों की अनुमति, अक्षर और अंक और अंडरस्कोर की अनुमति) ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
टिप्पणी: फॉर्म सत्यापन में बहुत फायदेमंद है।
राष्ट्रीय फोन नंबर का मिलान \d{3}-\d{8}|\d{4}-\d{7}
टिप्पणी: मिलान प्रारूप जैसे 0511-4405222 या 021-87888822।
QQ नंबर का मिलान [1-9][0-9]{4,}
टिप्पणी: Tencent QQ नंबर 10000 से शुरू होता है।
चीन मुख्य भूमि का डाक कोड का मिलान [1-9]\d{5}(?!\d)
टिप्पणी: चीन मुख्य भूमि का डाक कोड 6 अंकों का होता है।
पहचान पत्र का मिलान \d{15}|\d{18}
टिप्पणी: चीन मुख्य भूमि का पहचान पत्र 15 या 18 अंक का होता है।
IP पते का मिलान \d+\.\d+\.\d+\.\d+
टिप्पणी: आईपी पते को निकालने के लिए उपयोगी।
विशिष्ट संख्याओं का मिलान:
^[1-9]\d*$ //धनात्मक पूर्णांक का मिलान
^-[1-9]\d*$ //ऋणात्मक पूर्णांक का मिलान
^-?[1-9]\d*$ //पूर्णांक का मिलान
^[1-9]\d*|0$ //गैर-नकारात्मक पूर्णांक (धनात्मक पूर्णांक + 0) का मिलान
^-[1-9]\d*|0$ //गैर-धनात्मक पूर्णांक (ऋणात्मक पूर्णांक + 0) का मिलान
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //धनात्मक फ्लोटिंग-पॉइंट संख्या का मिलान
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //ऋणात्मक फ्लोटिंग-पॉइंट संख्या का मिलान
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //फ्लोटिंग-पॉइंट संख्या का मिलान
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //गैर-नकारात्मक फ्लोटिंग-पॉइंट संख्या (धनात्मक फ्लोटिंग-पॉइंट संख्या + 0) का मिलान
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //गैर-धनात्मक फ्लोटिंग-पॉइंट संख्या (ऋणात्मक फ्लोटिंग-पॉइंट संख्या + 0) का मिलान
टिप्पणी: बड़े पैमाने पर डेटा को संसाधित करते समय उपयोगी होती है। विशिष्ट एप्लिकेशन में ध्यान देने की आवश्यकता होती है।
विशिष्ट स्ट्रिंग का मिलान
^[A-Za-z]+$ //26 अंग्रेजी वर्णों से बने स्ट्रिंग का मिलान
^[A-Z]+$ //26 अंग्रेजी वर्णों के बड़े अक्षरों से बने स्ट्रिंग का मिलान
^[a-z]+$ //26 अंग्रेजी वर्णों के छोटे अक्षरों से बने स्ट्रिंग का मिलान
^[A-Za-z0-9]+$ //संख्याओं और 26 अंग्रेजी वर्णों से बने स्ट्रिंग का मिलान
^\w+$ //संख्याओं, 26 अंग्रेजी वर्णों या अंडरस्कोर से बने स्ट्रिंग का मिलान
चर विवरण
\ अगले चर को विशेष चर, या मौलिक वर्ण, या बैकरेफरेंसेस, या ऑक्टल एस्केप के रूप में चिह्नित करें। उदाहरण के लिए, “n” वर्ण “n” से मेल खाता है। “\n” एक नई लाइन के लिए मेल खाता है। “\\” लिए मिलान “\” और “\(” के लिए मिलान करते हैं।
^ इनपुट स्ट्रिंग की शुरुआत की स्थिति से मेल खाता है। यदि RegExp वस्तु के मल्टीलाइन गुण को सेट किया गया है, तो ^ “\n” या “\r” के बाद की स्थिति से भी मेल खा सकता है।
$ इनपुट स्ट्रिंग की समाप्ति स्थिति से मेल खाता है। यदि RegExp वस्तु के मल्टीलाइन गुण को सेट किया गया है, तो $ “\n” या “\r” से पहले की स्थिति से भी मेल खा सकता है।
* पिछले उपअभिव्यक्ति को शून्य या अधिक बार मेल खाता है। उदाहरण के लिए, zo* मेल “z” और “zoo” भी करेगा। * के बराबर है {0,}।
+ पिछले उपअभिव्यक्ति को एक या अधिक बार मेल खाता है। उदाहरण के लिए, “zo+” मेल “zo” और “zoo”, लेकिन “z” नहीं करेगा। + के बराबर है {1,}।
? पिछले उपअभिव्यक्ति के शून्य या एक बार मेल खाता है। उदाहरण के लिए, “do(es)?” “do” या “does” में “do” से मेल खा सकता है। ? के बराबर है {0,1}।
{n} n एक गैर-नकारात्मक整数 है। निश्चित रूप से n बार मेल खाता है। उदाहरण के लिए, “o{2}” “Bob” में “o” से मेल नहीं खाता है, लेकिन “food” में दो o से मेल खाता है।
{n,} n एक गैर-नकारात्मक整数 है। कम से कम n बार मेल खाता है। उदाहरण के लिए, “o{2,}“ “Bob” में “o” से मेल नहीं खा सकता है, लेकिन “foooood” में सभी o से मेल खा सकता है। “o{1,}” के बराबर है “o+”。“o{0,}” के बराबर है “o*”。
{n,m} m और n दोनों गैर-नकारात्मक पूरे हैं, जिनमें n <= m है। न्यूनतम n बार मेल खाता है और अधिकतम m बार मेल खाता है। उदाहरण के लिए, “o{1,3}” “fooooood” में पहले तीन o से मेल खाएगा। “o{0,1}” के बराबर है “o?”। ध्यान दें कि अल्पविराम और दोनों संख्याओं के बीच कोई जगह नहीं होनी चाहिए।
? जब यह चर किसी अन्य सीमा (*,+,?,{n},{n,},{n,m}) के तुरंत बाद हो, तो मिलान पैटर्न गैर-लूटेर है। गैर-लुटेर पैटर्न संभवतः कम से कम मेल मानित खोजा गया है, जबकि डिफ़ॉल्ट लूटेर पैटर्न अधिकतम मेल मानित खोजा गया है। उदाहरण के लिए, स्ट्रिंग “oooo” के मामले में,“o+?” एकल “o” से मेल खाएगा, जबकि “o+” सभी “o” से मेल खाएगा।
. “\n” को छोड़कर किसी भी एकल चर से मेल खाता है। “\n” को भी शामिल करने वाले किसी भी चर से मेल करने के लिए, एक पैटर्न का उपयोग करें जैसे “[.\n]”。
(pattern) pattern से मेल खाता है और इस मेल को प्राप्त करता है। प्राप्त किया गया मेल उत्पन्न किए गए मिलानों के सेट से प्राप्त किया जा सकता है। VBScript में, SubMatches सेट का इस्तेमाल किया जाता है, जबकि JScript में $0…$9 गुणों का उपयोग होता है। यदि वर्तनी चिह्नों को मेल करना है, तो “\(” या “\)” का उपयोग करें।
(?:pattern) pattern से मेल खाता है, लेकिन मेल को प्राप्त नहीं करता है, यानी यह एक गैर-प्राप्ति मिलान है, और इसे बाद में उपयोग के लिए संग्रहित नहीं किया जाता है। यह तब उपयोगी होता है जब “(|)” चर का उपयोग कर मौड के विभिन्न भागों को संयोजित किया जाता है। उदाहरण के लिए, “industr(?:y|ies)” “industry|industries” की तुलना में एक छोटा अभिव्यक्ति है।
(?=pattern) सकारात्मक पूर्वावलोकन, किसी भी समय pattern से मेल खाने वाले स्ट्रिंग के आरंभिक भाग पर मेल करता है। यह एक गैर-प्राप्ति मेल है, यानी, यह मेल बाद में उपयोग के लिए प्राप्त करने की आवश्यकता नहीं रखता है। उदाहरण के लिए, “Windows(?=95|98|NT|2000)” “Windows2000” में “Windows” से मेल खा सकता है, लेकिन “Windows3.1” में “Windows” से मेल नहीं खा सकता। पूर्वावलोकन वर्णों को नहीं खा सकता है, यानी, मेल होने के बाद, अंतिम मेल के बाद तुरंत अगली मेल खोज की शुरुआत होती है, बजाय इसके कि पूर्वावलोकन वाले वर्ण से अधिक शुरू किया जाए।
(?!pattern) नकारात्मक पूर्वावलोकन, किसी भी non-pattern से मेल खाने वाले स्ट्रिंग के आरंभिक भाग पर मेल करता है। यह एक गैर-प्राप्ति मेल है, यानी, यह मेल बाद में उपयोग के लिए प्राप्त करने की आवश्यकता नहीं रखता है। उदाहरण के लिए,“Windows(?!95|98|NT|2000)” “Windows3.1” में “Windows” से मेल खा सकता है, लेकिन “Windows2000” में “Windows” से मेल नहीं खा सकता। पूर्वावलोकन वर्णों को नहीं खा सकता है।
x|y x या y से मेल खाता है। उदाहरण के लिए, “z|food” “z” या “food” से मेल खा सकता है। “(z|f)ood” “zood” या “food” से भी मेल खा सकता है।
[xyz] चर सेट। शामिल किसी भी चर से मेल खाता है। उदाहरण के लिए, “[abc]” “plain” में “a” से मेल खा सकता है।
[^xyz] नकारात्मक चर सेट। अमिलित किसी भी चर से मेल खाता है। उदाहरण के लिए,“[^abc]” “plain” में “p” से मेल खा सकता है।
[a-z] चर रेंज। निर्धारित रेंज में किसी भी चर से मेल खाता है। उदाहरण के लिए,“[a-z]” “a” से “z” रेंज में किसी भी छोटे अक्षर की चर से मेल खा सकता है।
[^a-z] नकारात्मक चर रेंज। किसी भी ऐसे चर से मेल खाता है जो निर्धारित रेंज में नहीं है। उदाहरण के लिए,“[^a-z]” किसी भी ऐसा चर से मेल खा सकता है जो “a” से “z” रेंज में नहीं है।
\b एक शब्द सीमा से मेल खाता है, जो शब्दों और स्पेस के बीच की स्थिति को संदर्भित करता है। उदाहरण के लिए,“er\b” “never” में “er” से मेल खा सकता है, लेकिन “verb” में “er” से मेल नहीं खा सकता।
\B नन-शब्द सीमा को मेल करता है। “er\B” “verb” में “er” से मेल खा सकता है, लेकिन “never” में “er” से मेल नहीं खा सकता।
\cx एक नियंत्रण वर्ण का मिलान करता है जिसे x द्वारा निर्दिष्ट किया गया है। उदाहरण के लिए,\cM एक Control-M या रिटर्न की सितार गुण से मेल खा सकता है। x का मान A-Z या a-z में से एक होना चाहिए। अन्यथा, c एक मौलिक “c” वर्ण के रूप में माना जाएगा।
\d एक अंक वर्ण का मिलान करता है। [0-9] के बराबर है।
\D एक गैर-नंबर वर्ण का मिलान करता है। [^0-9] के बराबर है।
\f एक पृष्ठ परिवर्तन का मिलान करता है। \x0c और \cL के बराबर है।
\n एक नई लाइन का मिलान करता है। \x0a और \cJ के बराबर है।
\r एक रिटर्न का मिलान करता है। \x0d और \cM के बराबर है।
\s किसी भी खाली वर्ण का मेल करता है, जिसमें खाली स्थान, टैब, पृष्ठ परिवर्तन आदि शामिल हैं। [\f\n\r\t\v] के बराबर है।
\S किसी भी गैर-खाली वर्ण का मेल करता है। [^\f\n\r\t\v] के बराबर है।
\t एक टैब का मेल करता है। \x09 और \cI के बराबर है।
\v एक वर्टिकल टैब का मेल करता है। \x0b और \cK के बराबर है।
\w किसी भी वर्ड चर का मेल करता है जिसमें अंडरस्कोर शामिल है। “[A-Za-z0-9_]” के बराबर है।
\W किसी भी नॉन-वर्ड चर का मेल करता है। “[^A-Za-z0-9_]” के बराबर है।
\xn n का मेल करता है, जहाँ n एक hexadecimal escape value है। hexadecimal escape value निश्चित रूप से दो डिजिट लंबी होनी चाहिए। उदाहरण के लिए,“\x41” “A” से मेल खा सकता है। “\x041” “\x04&1” के बराबर है। regex में ASCII कोड भी उपयोग किया जा सकता है。
\num num का मिलान करता है, जहाँ num एक सकारात्मक पूर्णांक है। पर आधारित प्राप्त मेल का संदर्भ। उदाहरण के लिए, “(.)\1” लगातार समान वर्णों का मेल करता है।
\n एक ऑक्टल एस्केप वैल्यू या बैकरेफरेंस को पहचानता है। यदि n के पास कम से कम n से प्राप्त उपअभिव्यक्तियाँ हैं, तो n एक बैकरेफरेंस होगा। अन्यथा, यदि n एक ऑक्टल योग संख्या (0-7) है, तो n एक ऑक्टल एस्केप वैल्यू होगा।
\nm एक ऑक्टल एस्केप वैल्यू या बैकरेफरेंस को पहचानता है। यदि nm के पास कम से कम nm प्राप्त उपअभिव्यक्तियाँ हैं, तो nm एक बैकरेफरेंस होगा। यदि nm के पास कम से कम n प्राप्त है, तो n एक बैकरेफरेंस होगा जो अल्पविराम m के बाद आता है। यदि उपरोक्त सभी शर्तें अनुकूलित नहीं होती हैं, यदि n और m दोनों ऑक्टल योग संख्या (0-7) हैं, तो \nm ऑक्टल एस्केप वैल्यू nm मिलावेगा।
\nml यदि n एक ऑक्टल संख्या (0-3) है और m और l दोनों ऑक्टल संख्या (0-7) हैं, तो यह ऑक्टल एस्केप वैल्यू nml का मेल करेगा।
\un n का मेल करता है, जहाँ n चार हेनाडेसिमल नंबरों द्वारा प्रतिकित किया गया है। उदाहरण के लिए, \u00A9 कॉपीराइट चिह्न का मिलान कर सकता है (©)।

सामान्य regex संग्रह - URLs, मोबाइल नंबर, अल्फ़ान्यूमेरिक, फ़ॉर्म सत्यापन आदि में शामिल हैं

हमारीसामान्य regex सूची के उपयोग में आपका स्वागत है! यहां विभिन्न उपयोगी regex को इकट्ठा किया गया है, जिसमें URL सत्यापन, मोबाइल नंबर सत्यापन, अल्फ़ान्यूमेरिक सत्यापन, फ़ॉर्म सत्यापन आदि की सामान्य स्थितियों को शामिल किया गया है। चाहे आप डेटा सत्यापन, स्ट्रिंग प्रसंस्करण या खोज प्रतिस्थापन कर रहे हों, आप यहां संबंधित regex उदाहरण पाएंगे।

सामान्य regex उदाहरण

  • URL regex: URL प्रारूप की वैधता की जांच करें, जैसे: http://www.example.com।
  • मोबाइल नंबर regex: मोबाइल नंबर प्रारूप की सत्यता की जांच करें, विभिन्न देशों के नंबर नियमों का समर्थन करें।
  • अल्फ़ान्यूमेरिक regex: अक्षरों और अंकों के संयोजन का मेल करें, उपयोगकर्ता नाम या पासवर्ड सत्यापन के लिए।
  • फ़ॉर्म सत्यापन regex: फ़ॉर्म इनपुट सत्यापन के लिए, जैसे ईमेल, पहचान पत्र संख्या, डाक कोड आदि।
  • स्ट्रिंग प्रसंस्करण regex: सामान्य प्रसंस्करण विधियों जैसे अतिरिक्त स्लॉट को हटाना, विशेष वर्णों का प्रतिस्थापन आदि शामिल हैं।
  • regex प्रतिस्थापन: regex के माध्यम से स्ट्रिंग प्रतिस्थापन करें, जटिल पैटर्न मेल को समर्थन करें।
  • regex खोज: स्ट्रिंग में मेल खाती हिस्सों को खोजने के लिए उपयोग करें, कई मेलडी पैटर्न का समर्थन करें।

सामान्य regex उदाहरण

यहां कुछ सामान्य regex और उनके विवरण दिए गए हैं, जो विकासकर्ताओं को जल्दी से शुरुआत में मदद करेंगे:

  • ईमेल पते का सत्यापन:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
  • मोबाइल नंबर सत्यापन:/^(1[3-9])\d{9}$/
  • URL सत्यापन:/^(http:\/\/|https:\/\/)?[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/
  • केवल संख्याओं और अक्षरों की सत्यापन:/^[A-Za-z0-9]+$/
  • पहचान पत्र संख्या का सत्यापन:/^\d{15}|\d{18}$/

कैसे regex का उपयोग करें सत्यापन और प्रसंस्करण के लिए

regex डेटा सत्यापन और स्ट्रिंग प्रसंस्करण में व्यापक रूप से उपयोग किया जाता है, जैसे:

  • फ़ॉर्म सत्यापन: उपयोगकर्ता द्वारा इनपुट किए गए डेटा प्रारूप की जांच करें, जैसे ईमेल, फोन नंबर आदि, यह सुनिश्चित करने के लिए कि डेटा वैध है।
  • डेटा सफाई: मेटा पहचान करने या प्रतिस्थापित करने के लिए पूंजीकृत द्वारा regex का उपयोग करें, जैसे अतिरिक्त स्लॉट को हटाने, विशेष वर्णों को प्रतिस्थापित करना।
  • जानकारी का मेल: तेजी से जानकारी ढूंढने के लिए स्ट्रिंग में मिलान की स्थिति का उपयोग करें, बड़े पैमाने पर डेटा में तेज फ़िल्टरिंग का प्रयोग करें।

regex का उपयोग कैसे शुरू करें

हमारेसामान्य regex संग्रह के माध्यम से, आप आसानी से ज़रूरत की regex ढूंढ सकते हैं और उन्हें अपने प्रोजेक्ट में लागू कर सकते हैं। चाहे आप डेटा की सत्यता की провер करें, स्ट्रिंग्स को संसाधित करें या जटिल पैटर्न का मेल करें, हमारी regex लाइब्रेरी आपकी ज़रूरतों को पूरा कर सकती है।

हमें आशा है कि यह उपकरण आपके विकास कार्य में मदद कर सके। अगर आपको और अधिक regex की ज़रूरत है, तो हमारे अन्य संबंधित उपकरणों और संसाधनों की जाँच करने में संकोच न करें।

आपकी गतिविधि:
भाषा चुनें