Я хотел бы разделить строку, если:Несколько условий регулярное выражение JavaScript разделить
- Она не начинается с
quatre
илиsoixante
И - Это не заканчивается
dix
илиvingt
Например:
'deux-cent-quatre-vingt-trois'.split(/**/);
> ['deux', 'cent', 'quatre-vingt', 'trois' ]
У меня было несколько попыток и неудач, например:
'deux-cent-quatre-vingt-dix-trois'
.split(/^(?![quatre|soixante]-[dix|vingt])(\w*)-(\w*)/);
> [ '', 'deux', 'cent', '-quatre-vingt-trois' ]
или:
'deux-cent-quatre-vingt-dix-trois'.split(/(?!quatre|soixante)-(?!vingt|dix)/);
> [ 'deux' 'cent', 'quatre-vingt', 'trois' ]
, который работает, но это не делает:
'cent-vingt'.split(/(?!quatre|soixante)-(?!vingt|dix)/);
> [ 'cent-vingt' ]
Я знаю, используя Сличитель или найти было бы так просто, но было бы здорово сделать это в одном расколе ...
Я предполагаю, что вы хотите && между вашими точками. –
Да, извините, я не понимал, что вы имели в виду в первую очередь. – nmussy
Хм ... Кажется, что javascript не поддерживает lookbehinds .. Вы пытаетесь отделить все французские цифры от нуля до quatre-vingt-dix-neuf + cent? –