Ruby:正则表达式中的十六进制

Fab*_*bio 9 ruby regex hex

我需要在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 
Run Code Online (Sandbox Code Playgroud)

但是我的IDE将该表达标记为错误,我找不到任何引用该序列的引用.

\h在任何环境/版本下,Ruby Regex中的序列是合法的还是我应该相信我的ide并用类似的东西替换它[abcdef\d]

Mar*_*une 11

是的.查看官方文档,了解Ruby中正则表达式的完整文档.

请注意,它\h也将匹配大写字母,因此它实际上等同于[a-fA-F\d]