javascript - JS Regex - Replace multiple instances in a string -


मेरे पास यह स्ट्रिंग है:

  var str = '"testFN, II testLN, II "& Lt; Test1@test.com> ;, "testFN, कैल टेस्ट एलएन, कैल" & lt; test2@test.com> ';   

और मैं कर रहा हूं

  str.replace (/(".*?) ,(.*?")/ g, '$ 1__comma_ $ 2 ');   

एक स्ट्रिंग (__ कॉमा_) के साथ कई अल्पविराम (,) को बदलने के लिए, केवल अंदर।

घटना हालांकि मैंने दिया / g सभी सभी जगहों की जगह नहीं । यह प्रत्येक उदाहरण का केवल पहला मैच बदलता है।

वास्तविक परिणाम: "testFN__comma_ II testLN, II" & lt; Test1@test.com> ;, "testFN__comma_ testLN, कैल" & lt; test2@test.com> अपेक्षित परिणाम: "testFN__comma_II testLN__comma_ II" & lt; Test1@test.com> ;, "testFN__comma_cal testLN__comma_cal" & lt; Test2@test.com>

क्या आप कृपया कोई सुझाव दे सकते हैं जो मुझे कुछ भी याद आ रही है?

आलसी क्वांटिफायर की कोशिश करें:

  ("। * ?,) (। *?")   

हालांकि आपके प्रतिस्थापन प्रभावी नहीं होंगे क्योंकि आप उस अल्पविराम की जगह नहीं ले रहे हैं! तो मैं अपने regex को थोड़ा संशोधित करने जा रहा हूँ:

  ("। *?), (। *?")   

अपडेट

अपने नए अपडेट के आधार पर, मैंने एक और रेगेक्स बनाया जो कि पिछले एक से बिल्कुल अलग है।

  str.replace (/ (,) (? = [^ "] * [^ \ S]") / जी, '__ कॉममा_');   



Comments

Popular posts from this blog

java - ImportError: No module named py4j.java_gateway -

python - Receiving "KeyError" after decoding json result from url -

.net - Creating a new Queue Manager and Queue in Websphere MQ (using C#) -