क्योंकि रेगेक्स डिफ़ॉल्ट रूप से लालची है। अर्थात। भाव .* या .+ यथासंभव अधिक से अधिक वर्ण लेने का प्रयास करें। इसलिए <.+> पहले < . से फैला होगा अंतिम > . तक . आलसी ऑपरेटर का उपयोग करके इसे आलसी बनाएं ? :
regexp_replace(teststring, '<.+?>')
या
regexp_replace(teststring, '<.*?>')
अब, > . की खोज करें पहले > . पर रुकेगा का सामना करना पड़ा।
ध्यान दें कि . > शामिल है साथ ही, इसलिए लालची संस्करण (बिना ? .) ) सभी > . को निगल जाता है लेकिन आखिरी।