हाय मैं रेगेक्स के साथ लगभग नया हूं ... इसलिए, शायद मेरी समस्या यह आसान है लेकिन मुझे कोई समाधान नहीं मिल रहा है!रेगेक्स - केवल एक स्पेस या मैच के बाद कुछ भी नहीं
मैं एक रेगेक्स पैटर्न लिख रहा हूं जो उपयोगकर्ता के लेखन में दिखता है और स्थापित किए गए मैचों के दूसरे रंग के साथ पेंट करता है। मैं, एक और रंग के साथ पेंट करने के लिए उपयोगकर्ता कुछ इस तरह लिखने अगर उदाहरण के लिए करना चाहते हैं:
foo()
बात यह है है कि मैं नहीं पेंट करने के लिए है कि अगर उपयोगकर्ता उसके बाद कुछ और लिखते हैं, मैं अगर मतलब चाहते हैं उपयोगकर्ता लिखने केवल
"foo()" (or "foo() ")
तो यह ठीक है, मैं इसे पेंट करने के लिए चाहते हैं, लेकिन उपयोगकर्ता अगर लिखने
"foo()d"
मैं पेंट करने के लिए है कि क्योंकि अब अच्छी तरह से लिखा है नहीं करना चाहती मेरे लिए।
मैंने पहले से ही रेगेक्स पैटर्न लिखा है जो "foo()" (या बीच में एक बिंदु के साथ "foo.foo()") से मेल खाता है, लेकिन मुझे उस समस्या का सामना करना पड़ रहा है। मैं अपने पैटर्न है कि केवल एक अंतरिक्ष, या कुछ भी नहीं की अनुमति देने के लिए कुछ जोड़ने की जरूरत है (यदि उपयोगकर्ता लिखने के बाद कुछ और ")" मैं यह मैच के लिए नहीं करना चाहते हैं) यह मेरा पैटर्न है:।
[a-z]*\.?[a-z]*\(("[^"\r\n]*"|[-]?\b\d+[\.]?\d*\b)?\)
बहुत बहुत धन्यवाद!
यह पूरी तरह स्पष्ट नहीं है कि आप क्या पूछ रहे हैं। क्या इसके बाद कोई पात्र हैं? यदि नहीं, तो आप अपने regex को '\ s? $' के साथ समाप्त कर सकते हैं। –
सही, यह काम नहीं करेगा क्योंकि मैं उपयोगकर्ता को लिखना जारी रखना चाहता हूं ... – gezequiel