gpt4 book ai didi

javascript - 使用具有零宽度lookbehind的正则表达式在JavaScript中分割字符串

转载 作者:行者123 更新时间:2023-11-28 15:36:10 26 4
gpt4 key购买 nike

我知道 JavaScript 正则表达式具有 native 向前查找功能,但没有向后查找功能。

我想在以一组字符的任何成员开头或以另一组字符的任何成员结尾的点拆分字符串。

之前拆分。在 之后拆分。

In: ເລື້ອຍໆມະຫັດສະຈັນເອກອັກຄະລັດຖະທູດ

Out: ເລື້ອຍໆມະ ຫັດສະ ຈັນ ເອກອັກຄະ ລັດຖະ ທູດ

我可以使用零宽度前瞻来实现“之前分割”部分:

'ເລື້ອຍໆມະຫັດສະຈັນເອກອັກຄະລັດຖະທູດ'.split(/(?=[ໃໄໂເແ])/)

["ເລື້ອຍໆມະຫັດສະຈັນ", "ເອກອັກຄະລັດຖະທູດ"]

但我想不出模拟零宽度lookbehind的通用方法

我正在拆分任意 Unicode 文本的字符串,因此不想 substitute in special markers in a first pass ,因为我不能保证我的输入中不存在任何字符串。

最佳答案

您可以考虑使用match(),而不是分割。方法。

var s = 'ເລື້ອຍໆມະຫັດສະຈັນເອກອັກຄະລັດຖະທູດ',
r = s.match(/(?:(?!ະ).)+?(?:ະ|(?=[ໃໄໂເແ]|$))/g);

console.log(r); //=> [ 'ເລື້ອຍໆມະ', 'ຫັດສະ', 'ຈັນ', 'ເອກອັກຄະ', 'ລັດຖະ', 'ທູດ' ]

关于javascript - 使用具有零宽度lookbehind的正则表达式在JavaScript中分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25560933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com