您好我正在使用Watir点击一些链接。我转到一个页面,根据其文本单击一个链接,再次单击一个新链接。我正在根据文本找到链接(这是我可以基于HTML的唯一方法)并且需要将我从页面中提取的文本与链接相匹配。我得到的文本包含一些额外的文本,而不是链接的一部分,所以我需要gsub出来。这是我的问题:
字符串:Nuclear Launch Codes (Levels One/Two) Blah Blah Blah
链接:/#{text}/
因为链接并不总是具有我需要找到的确切文本,所以:"Nuclear Launch Codes (Levels One\/Two)"
问题是返回Nuclear Launch Codes (Levels Four/Five)
我虽然我会把第一个括号和之后的所有内容都包括在内,但我需要保留它,因为我可以T(n) = 2^n - 1
无论如何修改字符串以匹配链接而忽略链接文本的其余部分?
答案 0 :(得分:2)
如果我理解正确,请尝试:
/#{Regexp.escape(text)}/
或等效地,如果您愿意:
Regexp.new(Regexp.escape(text))
这将自动转义text
中的括号,斜杠等等,因此不会将它们视为特殊的正则表达式字符。