Ruby正则表达式搜索
我正在编写一个脚本,在HTML文本块中搜索Ruby正则表达式搜索,ruby,regex,Ruby,Regex,我正在编写一个脚本,在HTML文本块中搜索%{}符号,用动态变量替换它们 由于某种原因,我的正则表达式不起作用 str = "<p>%{urgent_personal_confidential}</p>" regex = /^%\{(.*)\}/ puts str.match(regex) str=“%{紧急\个人\机密}” 正则表达式=/^%\{(.*)\}/ 放置str.match(正则表达式) 我相信这很简单。。。有什么问题吗?由于文本不在字符串开头或新行字符
%{}
符号,用动态变量替换它们
由于某种原因,我的正则表达式不起作用
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"
谢谢这解决了我的问题!!!一旦我能回答,我一定会把它标记为答案:)谢谢!这解决了我的问题!!!我会确保在可能的情况下将其标记为答案:)