在JavaScript正则表达式中的Unicode感知等效于\ b

时间:2017-01-10 22:24:28

标签: javascript regex unicode

a piece of JavaScript code有几个使用\b匹配字边界的正则表达式。它们在Unicode输入上无法正常工作。他们的工作或多或少是这样的:

',.,.Michał /#@$^Øystein(*()'.match(/\b.+?\b/g) // => ["Micha", "ł /#@$^Ø", "ystein"]

我希望上面的表达式返回[ "Michał", " /#@$^", "Øystein" ]

\b中的表达式实际上比.+?更复杂,并且其中一些是生成的,因此更改它们非常棘手。理想情况下,我希望保持这些表达式不变,并以符合Unicode的方式将\b替换为与零宽度字边界匹配的内容。

有可能吗?如果是,我该怎么办?如果不是,我该怎么做才能对\b内的表达式进行最少的更改?

我希望ES6可以提供帮助,但不会 - \b的行为在那里没有改变。

0 个答案:

没有答案