यह मानते हुए कि आप केवल उस आवेश को हटाना चाहते हैं जो रेक्सक्स से पूरी तरह से मेल खाता है (यानी, mmbla
ठीक है, लेकिन mm
नहीं है), यह वही है जो आप चाहते हैं:
^(?!(?:m{2}|t)$).*$
(?!(?:m{2}|t)$)
एक नकारात्मक रूपांतर है ; यह कहता है "वर्तमान स्थिति से शुरू होकर, अगले कुछ अक्षर स्ट्रिंग के अंत तक नहीं हैं mm
या t
उसके बाद नहीं हैं ।" शुरुआत में स्टार्ट एंकर ( ^
) यह सुनिश्चित करता है कि स्ट्रिंग की शुरुआत में लुकहेड लागू किया जाता है। यदि वह सफल हो .*
जाता है , तो आगे बढ़ता है और स्ट्रिंग का उपभोग करता है।
FYI करें, यदि आप जावा का उपयोग कर रहे हैं matches()
विधि वास्तव में ^
और अंतिम की $
आवश्यकता नहीं है, लेकिन वे कोई नुकसान नहीं करते हैं। $
अंदर अग्रदर्शी आवश्यक है, हालांकि है।
{1}
पूरी तरह से बेकार है। (यदि आपको लगता है कि यह कुछ मूल्य प्रदान करता है, तो आप क्यों नहीं लिखते((m{1}a{1}){1}|(t){1}){1}
?)