gpt4 book ai didi

ruby - 如何使用 Oniguruma 正则表达式指定有效的字符属性?

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:47 24 4
gpt4 key购买 nike

我正在使用 oniguruma gem 在 ruby​​ 1.8 中获取可识别 unicode 的正则表达式。根据语法文档,我应该能够使用 \p{M}\p{Mark} 将代码点与 Mark 属性匹配。

但是,当我执行以下操作时

ORegexp.new '\p{M}',
:options => OPTION_MULTILINE | OPTION_SINGLELINE | OPTION_IGNORECASE | OPTION_EXTEND,
:syntax => SYNTAX_JAVA, # so we can use character properties
:encoding => ENCODING_UTF8

我收到 ArgumentError: Oniguruma Error: invalid character property name {M}。如果我使用 {Mark},或者如果我使用支持 \p 的其他语法之一,我会得到同样的错误。

我做错了什么?如何使用 Oniguruma 正则表达式指定有效的字符属性?

更新 - 如果我使用其中一种 UTF16 编码,则正则表达式会编译;但由于我的字符串是 UTF8 格式,所以这无济于事。所以我的问题变成了:如何使用 UTF-8 Oniguruma 正则表达式指定有效的字符属性?

最佳答案

尝试使用

/\p{Mark}

我在一个旧的 Ruby 博客上读到,使用正斜杠会“尝试在字符串中找到值作为编码

http://www.ruby-forum.com/topic/154384

关于ruby - 如何使用 Oniguruma 正则表达式指定有效的字符属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5376329/

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