Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby正则表达式搜索_Ruby_Regex - Fatal编程技术网

Ruby正则表达式搜索

Ruby正则表达式搜索,ruby,regex,Ruby,Regex,我正在编写一个脚本,在HTML文本块中搜索%{}符号,用动态变量替换它们 由于某种原因,我的正则表达式不起作用 str = "<p>%{urgent_personal_confidential}</p>" regex = /^%\{(.*)\}/ puts str.match(regex) str=“%{紧急\个人\机密}” 正则表达式=/^%\{(.*)\}/ 放置str.match(正则表达式) 我相信这很简单。。。有什么问题吗?由于文本不在字符串开头或新行字符

我正在编写一个脚本,在HTML文本块中搜索
%{}
符号,用动态变量替换它们

由于某种原因,我的正则表达式不起作用

str = "<p>%{urgent_personal_confidential}</p>"

regex = /^%\{(.*)\}/
puts str.match(regex)
str=“%{紧急\个人\机密}

” 正则表达式=/^%\{(.*)\}/ 放置str.match(正则表达式)

我相信这很简单。。。有什么问题吗?

由于文本不在字符串开头或新行字符之后,因此不应使用行首定位(
^
):


联机查看它的工作情况:

由于文本不在字符串开头或新行字符之后,因此不应使用行首定位(
^
):


在线查看它的工作情况:

它是由初始插入符号
^
引起的,它代表“行的开头”。如果删除它,它应该匹配。

它是由初始插入符号
^
引起的,它代表“行的开头”。如果您删除它,它应该匹配。

也许我误解了,但您不能只使用Ruby内置的字符串插值吗

ruby-1.9.2-p136 :001 > str = "<p>%{urgent_personal_confidential}</p>"
=> "<p>%{urgent_personal_confidential}</p>" 
ruby-1.9.2-p136 :002 > str % { :urgent_personal_confidential => "test" }
 => "<p>test</p>" 
ruby-1.9.2-p136:001>str=“%{emergency\u personal\u secretary}

” =>“%{紧急\个人\机密}

” ruby-1.9.2-p136:002>str%{:emergency\u personal\u secretary=>“test”} =>“测试


也许我误解了,但你就不能只使用Ruby内置的字符串插值吗

ruby-1.9.2-p136 :001 > str = "<p>%{urgent_personal_confidential}</p>"
=> "<p>%{urgent_personal_confidential}</p>" 
ruby-1.9.2-p136 :002 > str % { :urgent_personal_confidential => "test" }
 => "<p>test</p>" 
ruby-1.9.2-p136:001>str=“%{emergency\u personal\u secretary}

” =>“%{紧急\个人\机密}

” ruby-1.9.2-p136:002>str%{:emergency\u personal\u secretary=>“test”} =>“测试


Ruby已经有了这个功能

结果是

"The quick brown fox jumps over the lazy dog"

Ruby已经有了这个特性

结果是

"The quick brown fox jumps over the lazy dog"

谢谢这解决了我的问题!!!一旦我能回答,我一定会把它标记为答案:)谢谢!这解决了我的问题!!!我会确保在可能的情况下将其标记为答案:)