当我尝试对m = %r(.)(.)(\d+)(\d)/.match("THX1138.")
行(取自doc)执行某些操作时,屏幕上没有任何内容如下所示:
来自
>
的 IRB
熄灭,\
来了,光标开始闪烁,如上图所示。
我做错了你能引导我吗?
由于
根据@valodzka建议,我尝试了以下操作,并从>
返回/
。 yippyy:)
irb(main):006:0> m = %r(.)(.)(\d+)(\d)/.match("THX1138.")
irb(main):007:1/ /)
SyntaxError: (irb):6: syntax error, unexpected '(', expecting $end
m = %r(.)(.)(\d+)(\d)/.match("THX1138.")
^
from C:/Ruby193/bin/irb:12:in `<main>'
irb(main):008:0>
非常感谢 @valodzka :)
答案 0 :(得分:1)
Regexp语法错误,应该是:
m = /(.)(.)(\d+)(\d)/.match("THX1138.")
或
m = %r/(.)(.)(\d+)(\d)/.match("THX1138.")
文档绝对不正确。 Ruby regexp语法为/regexp/
或%r'open-symbol'regexp'close-symbol'
,例如/test/
或%r{test}
或%r|test|
。通常使用//
,但在某些情况下,当regexp包含'/'符号%r
时,表单可能很有用。