Я знаю, что регулярные выражения JavaScript имеют встроенную функцию просмотра вперед, но не функцию просмотра назад.
Я хочу разбить строку в точках, начинающихся с любого члена одного набора символов или заканчивающихся любым членом другого набора символов.
Разделить перед ເ
, ແ
, ໂ
, ໃ
, ໄ
. Разделить после ະ
.
In: ເລື້ອຍໆມະຫັດສະຈັນເອກອັກຄະລັດຖະທູດ
Out: ເລື້ອຍໆມະ ຫັດສະ ຈັນ ເອກອັກຄະ ລັດຖະ ທູດ
Я могу выполнить часть «разделить до», используя просмотр с нулевой шириной:
'ເລື້ອຍໆມະຫັດສະຈັນເອກອັກຄະລັດຖະທູດ'.split(/(?=[ໃໄໂເແ])/)
["ເລື້ອຍໆມະຫັດສະຈັນ", "ເອກອັກຄະລັດຖະທູດ"]
Но я не могу придумать общий подход к моделированию просмотра назад с нулевой шириной
Я разбиваю строки произвольного текста Unicode, поэтому не хочу заменять специальные маркеры в первом проходе, так как я не могу гарантировать отсутствие какой-либо строки из моего ввода.