2012-06-12 17 views
10

को प्रतिस्थापित करता है मैं एक टेक्स्ट फॉर्मेटर बनाने की कोशिश कर रहा हूं जो लाइन ब्रेक के आधार पर पाठ में पी और ब्र टैग जोड़ देगा। मेरे पास वर्तमान में यह है:जावास्क्रिप्ट मिलान किए गए समूह

s.replace(/\n\n/g, "\n</p><p>\n"); 

जो पैराग्राफ सिरों और शुरुआतओं के निर्माण के लिए अद्भुत काम करता है। हालांकि,
उदाहरणों को खोजने का प्रयास इतना अच्छा काम नहीं कर रहा है। , एक मिलान समूह प्रतिस्थापन काम नहीं कर रहा करने के लिए प्रयास कर रहा है के रूप में यह कोष्ठक पर ध्यान नहीं देता है और पूरे regex मैच की जगह:

s.replace(/\w(\n)\w/g, "<br />\n"); 

मैं जी विकल्प को हटाने की कोशिश की है (अब भी पूरे मैच की जगह है, लेकिन केवल पहले मैच पर)। क्या इसे करने का और कोई तरीका है?

धन्यवाद!

उत्तर

18

आप भागों आप को बदलने के लिए नहीं करना चाहते हैं और उन्हें $ साथ प्रतिस्थापन स्ट्रिंग समूह नंबर के बाद में शामिल कर सकते हैं: भागों की चर्चा करते हुए पर

s.replace(/(\w)\n(\w)/g, "$1<br />\n$2"); 

अधिक जानकारी के लिए MDN डॉक्स में See this section आपके प्रतिस्थापन स्ट्रिंग में इनपुट स्ट्रिंग का।

+1

बहुत बढ़िया, सही काम करता है और समझ में आता है! – Asherlc

2

कैच भी आसपास के पात्रों:

s.replace(/(\w)(\n\w)/g, "$1<br />$2"); 
संबंधित मुद्दे