我需要在 Ruby(实际上是 Rails)程序的正则表达式中匹配 md5 校验和。我在某处发现我可以将十六进制字符串与 \h
序列匹配,但我找不到链接了。
我正在使用该序列并且我的代码在 Ruby 1.9.2 中运行。我什至可以让它在普通 IRB 下工作(因此它不是 Rails 扩展)。
ruby-1.9.2-p180 :007 > "123abcdf" =~ /^\h+$/; $~
=> #<MatchData "123abcdf">
ruby-1.9.2-p180 :008 > "123abcdfg" =~ /^\h+$/; $~
=> nil
但是我的 IDE 将该表达式标记为错误,我找不到任何引用该序列的引用。
在任何环境/版本下,Ruby Regex 中的 \h
序列是否合法,或者我应该相信我的想法并将其替换为 [abcdef\d]
之类的东西吗?
最佳答案
是的。检查the official doc获取 Ruby 中正则表达式的完整文档。
注意 \h
也会匹配大写字母,所以它实际上等同于 [a-fA-F\d]
关于Ruby:正则表达式中的十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6657389/