gpt4 book ai didi

javascript - Unicode 正则表达式 : Compilation failed: range out of order in character class

转载 作者:行者123 更新时间:2023-11-29 20:34:18 41 4
gpt4 key购买 nike

我转换了取自 https://twemoji.maxcdn.com/v/latest/twemoji.js 的正则表达式匹配从 javascript 到 php 的表情符号相关的 Unicode 字符。

当我使用 regex101.com 测试转换后的正则表达式时,它按预期工作

但是,当我在本地环境中测试时,它不起作用。

您可以在此处查看工作示例 https://regex101.com/r/IuIhBF/1

这是 PHP 版本。 http://sandbox.onlinephpfunctions.com/code/3bd5933f5230fc1c45104b7eccd9379b68870016

我尝试更改 preg_match_all 标志。将 u 添加到正则表达式 ex:/*****/u

无法正常工作

如果有人能帮我解决这个错误,那就太好了:编译失败:字符类中偏移量 306 处的范围乱序。

最佳答案

对于 emoji,您应该使用 Utf-16 代理项对正则表达式。
utf-8/32 正则表达式太慢了。

请参阅此链接以获取 Unicode 版本 12 表情符号正则表达式和测试。
耗时3.4秒,如果超时(默认2s),就超时
在设置中。

相比之下,utf-8/32 正则表达式需要将近 40 秒(需要//u 标志)。

因此,一定要坚持使用表情符号正则表达式的代理对。

https://regex101.com/r/k61Df5/1

关于javascript - Unicode 正则表达式 : Compilation failed: range out of order in character class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57172819/

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