我有一个生成的HTML页面,我希望字符串“A”出现在页面上的字符串“B”之前。 (注意,A和B可以在页面上的不同行中,其间包含任意字符串/字符。
我正在尝试创建一个检查此条件的正则表达式。
这就是我所拥有的
regexp = Regexp.new ".*#{S1}.*#{s2}"
match = page.body ~= regexp
其中S1和S2分别是字符串“A”和“B”。
在B匹配之前出现A的页面上执行此操作后仍然返回nil。
答案 0 :(得分:5)
尝试:
match = /.*#{S1}.*#{S2}/m =~ page.body
编辑(作者:Dennis Mathews,2012-03-16):第一个。*不是必需的......所以工作代码是
match = /#{S1}.*#{S2}/m =~ page.body
答案 1 :(得分:4)
为什么要使用正则表达式?只需使用字符串索引比较:
first = page.body.index(S1) or return false
second = page.body.index(S2, first) or return false
return true