使用Look-behind正则表达式(Ruby)的问题
我编写了这个正则表达式来匹配HTML页面中的所有href
和src
链接; (我知道我应该使用解析器;这只是试验):
/((href|src)\=\").*?\"/
没有后视
它工作正常,但当我尝试将表达式的第一部分修改为后视模式时:
/(?<=(href|src)\=\").*?\"/
look-behind
它会抛出错误,指出“无效的后视模式”。 任何想法,看起来有什么问题?
Lookbehind有限制 :
(?<=subexp) look-behind (?
你不能在(负面的)外观中将替代品放在非顶级。
把它们放在最顶层。 你也不需要逃避你做过的一些角色。
/(?<=href="|src=").*?"/