2017-01-25 10 views
5

का उपयोग करने वाले पहले स्वर को ढूंढें मैं एक सुअर लैटिन कनवर्टर बनाने का प्रयास कर रहा हूं जो स्ट्रिंग को अपने पहले स्वर में विभाजित करता है, और दूसरे के साथ पहले सबस्ट्रिंग को स्विच करता है (जैसे कुत्ता -> ओजीडी)।रेगेक्स (जावास्क्रिप्ट)

निम्नलिखित regex कोड एकल स्वर स्ट्रिंग्स के लिए काम कर रहा है, लेकिन जब कई स्वरों के साथ एक शब्द का अनुवाद करने के प्रयास में, यह पिछले स्वर में स्ट्रिंग बंटवारे है:

string.replace(/(\w+)([aeiou]\w+)/i, '$2$1')

पर इस कोड चल रहा है शब्द "अर्थ" में परिणाम "इंजेमेन" ('i' पर विभाजित), जबकि मैं "ईनिंगम" ('ई' पर विभाजित) की वापसी की उम्मीद कर रहा हूं

धन्यवाद!

+0

आप कल्पना करना चाहते हो सकता है * सटीक * आउटपुट के बारे में ific आप – musefan

+0

@musefan प्राप्त करने का प्रयास कर रहे हैं, मैं "eaningm" लौटने की उम्मीद कर रहा हूं – jgrune

उत्तर

4

आप आलसी (?) ऑपरेटर जोड़ने की जरूरत:

string.replace(/(\w+?)([aeiou]\w+)/i, '$2$1') 
5

इस चाल करना चाहिए

/([^aeiou]+)([aeiou])([a-zA-Z]+)/ 

और का उपयोग

$ 2 $ 3 $ 1

संबंधित मुद्दे