2017-01-25 22 views
5

Dizeyi ilk sesli harfinde ayıran bir domuz latin dönüştürücüsü oluşturmaya çalışıyorum ve ilk alt dizeyi ikincisiyle (örn. Köpek -> ogd) değiştirir. Bu kodu çalıştırmaRegex Kullanarak İlk Sesle Bul (Javascript)

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

: Birden ünlüler bir kelime tercüme edilmeye çalışıldığı zaman

aşağıdaki regex kod son sesli dizeyi ayırdığını, ancak, tek sesli harf dizeleri için çalıştığını "ingmean" ('i' üzerinde bölme) sonuçları "anlamına gelen" kelimesi, ben

teşekkür ('e' bölme) "eaningm" dönmek bekliyorum oysa!

+0

Spec olmak isteyebilirsiniz Eğer * tam * çıktı hakkında ific – musefan

+0

@ musefan almaya çalışıyorsanız "eaningm" umuyoruz – jgrune

cevap

4

Sen tembel (?) operatörünü eklemem gerekiyor:

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

Bu hile yapmak gerekir

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

Ve kullanmak

$ 2 $ 3 $ 1