मैं अपनी समस्या के लिए उचित रेगेक्स बनाने की कोशिश कर रहा हूं और स्पष्ट रूप से अजीब मुद्दे में भाग गया।जावा रेगेक्स लुकहेड बहुत अधिक समय लेता है
मुझे कि मैं क्या करने की कोशिश कर रहा हूँ का वर्णन करते हैं ..
मेरा लक्ष्य स्ट्रिंग के दोनों सिरों से अल्पविराम के दूर करने के लिए है। ई, जी, स्ट्रिंग , ,, ,,, , , Hello, my lovely, world, ,, ,
सिर्फ Hello, my lovely, world
बनना चाहिए।
मैं regex निम्नलिखित यह पूरा करने के लिए तैयार है: (\w+,*? *?)+(?=(,?\W+$))
यह regex प्रमाणकों में एक आकर्षण की तरह काम करता है, लेकिन जब मैं Android डिवाइस पर इसे चलाने के लिए कोशिश कर रहा हूँ, matcher.find()
समारोह के लिए लटकी हुई है ~ 1min एक को खोजने के लिए उचित मैच ... मुझे लगता है, समस्या सकारात्मक अग्रदर्शी मैं उपयोग कर रहा हूँ में है, लेकिन मैं किसी भी बेहतर समाधान नहीं मिल सका से बस शुरू से ही है और अंत में अलग अल्पविराम के ट्रिम:
output = input.replaceAll("^(,?\\W?)+", ""); //replace commas at the beginning
output = output.replaceAll("(,?\\W?)+$", ""); //replace commas at the end
है सकारात्मक लुकहेड में मैं कुछ खो रहा हूं एन जावा regex? मैं शुरुआत में और अंत में अल्पविरामों के बीच स्ट्रिंग सेक्शन कैसे प्राप्त कर सकता हूं?
arghh ... मैं कैसे मेल खाने वाले समूह को याद कर सकता है .. :(धन्यवाद एक बहुत मैं अपने रेगुलर एक्सप्रेशन से ज्ञान को ब्रश करना मिला ... –