【问题标题】:Alnum class in RubyRuby 中的 Alnum 类
【发布时间】:2012-11-14 10:05:52
【问题描述】:

Ruby 语言的正则表达式中的\p{Alnum} 类是什么?它包含哪些字符,它与[:alnum:] 有何不同?

【问题讨论】:

    标签: ruby regex


    【解决方案1】:

    基于rdoc和这个tutorial,这两个表达式是等价的。

    它们包含字母和数字字符。如果只使用 ASCII 字符,则相当于[a-zA-Z0-9]。如果有非 ASCII 字符,[:alnum:]p{Alnum} 也会包含重音字符等内容。

    【讨论】:

    • 如果我们不只使用 ASCII 字符,它们可能会有所不同吗?
    • @MikaH.:如果您围绕 C 源进行 grep,您会发现它们(AFAIK)最终都映射到同一个东西。此外,'µ' 匹配 /[[:alnum]]//\p{Alnum}/ 但不匹配纯 ASCII 码 /\w/
    • @muistooshort 谢谢,我在哪里可以找到 C 源代码?
    • @MikaH.:你可以从 Github (github.com/ruby/ruby) 中获取它,或者在你的 ~/.rvm 目录中查看,它可能已经存在了。
    猜你喜欢
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 2013-04-29
    • 1970-01-01
    相关资源
    最近更新 更多