在 ruby 中运行以下代码时:
string = "\begin{theorem}[blaat] \label{thm:foo}"
pattern = /^\\begin\{(theorem|definition)\}(\[.+\])?\s\\label\{(thm|def):.+\}$/
if string =~ pattern then
puts "match"
else
puts "no match"
end
我得到一个“不匹配”的输出。
但是,当在rubular上使用相同的模式和字符串时,我得到了匹配。将上述代码与模式一起使用时,违规行为已经开始:
/^\\begin/
和字符串\begin
。这与使用上述代码段不匹配,但它在 rubular.com 上匹配
我正在使用 Ruby 1.9.1