TLDR; (?<=[^x]|^)(x{n}|x{m})(?:[^x]|$)
लगता है कि आप "xn टाइम्स" या "xm टाइम्स" चाहते हैं, मुझे लगता है कि regex का शाब्दिक अनुवाद (x{n}|x{m}).
इस तरह होगा https://regex101.com/r/vH7yL5/1
या, ऐसे मामले में जहाँ आपके पास m "x" s (मान m> n) से अधिक का अनुक्रम हो सकता है, तो आप 'no "x" का अनुसरण कर सकते हैं और' no "x" और उसके बाद अनुवाद कर सकते हैं, [^x](x{n}|x{m})[^x]लेकिन मान लें कि हमेशा "x" s के पीछे और उसके बाद एक चरित्र होता है। जैसा कि आप यहां देख सकते हैं: https://regex101.com/r/bB2vH2/1
आप इसे (?:[^x]|^)(x{n}|x{m})(?:[^x]|$)"निम्नलिखित में से कोई 'x' या निम्न पंक्ति प्रारंभ" और "उसके बाद कोई 'x' या उसके बाद पंक्ति के अंत में बदल सकते हैं।" लेकिन फिर भी, यह उनके बीच केवल एक ही चरित्र के साथ दो दृश्यों का मेल नहीं खाएगा (क्योंकि पहले मैच के बाद एक चरित्र की आवश्यकता होगी, और दूसरे चरित्र से पहले) जैसा कि आप यहां देख सकते हैं: https://regex101.com/r/ oC5oJ4 / 1
अंत में, एक वर्ण के दूर के मिलान के लिए, आप "के बाद" (=) पर एक सकारात्मक रूप जोड़ सकते हैं "या" से पहले "नहीं 'x पर" (<=) के पीछे एक सकारात्मक रूप "? इस तरह: https://regex101.com/r/mC4uX3/1
(?<=[^x]|^)(x{n}|x{m})(?:[^x]|$)
इस तरह से आप केवल 'x' की इच्छित संख्या से मेल खाएँगे।
Xसबसे अच्छा आप सामान्य के लिए प्राप्त कर सकते हैंm,n।