Javascript 在多行上匹配任何内容,然后匹配一个文本字符串
如果我有一些文本正在通过查找特定属性进行搜索,我如何修剪它前面行上的文本: 例如:Javascript 在多行上匹配任何内容,然后匹配一个文本字符串,javascript,regex,Javascript,Regex,如果我有一些文本正在通过查找特定属性进行搜索,我如何修剪它前面行上的文本: 例如: aoidj aodifjiao <img src="asdf.asdf" id="a1" /> aoidj 奥迪角 (\n*|)(.*\n*)(.*)src=“(.+?)”*似乎应该将任何新行或任何文本与末尾的新行匹配,然后找到我的src属性,但替换为\4会获得我的src属性,但仍保留上面几行的内容。尝试以下表达式: (?:[^s]|src="([^"]*)".*)* 并替换为$1 此表达式使
aoidj
aodifjiao
<img src="asdf.asdf" id="a1" />
aoidj
奥迪角
(\n*|)(.*\n*)(.*)src=“(.+?)”*
似乎应该将任何新行或任何文本与末尾的新行匹配,然后找到我的src
属性,但替换为\4
会获得我的src属性,但仍保留上面几行的内容。尝试以下表达式:
(?:[^s]|src="([^"]*)".*)*
并替换为$1
此表达式使用[^s]
匹配不是s
的字符,或者匹配src
及其后面的内容,通过将星号*
应用于整个组,首先匹配任何不是s
的对象,直到if找到唯一以s
开头且我们关心的对象,即src
现在它将src
的值捕获到组1中,然后使用*
匹配它之后的所有内容
现在一切都匹配了,src
属性的值被捕获在$1
中
这篇文章我读了3遍,但我还是不能完全理解你想要什么。@JoeSimmons匹配任何东西,直到
src
Sniffer,效果很好,你能帮我把它分解一下吗。非常感谢。@thomas我已经修改了我的答案,请检查编辑。我明白了。但我怎样才能让它充满活力呢。比如,如果我不知道是搜索src还是id还是rurl?如果我搜索了(?:[^(src)]| src=“([^”]*)”*
,我会在前面的所有元素上找到匹配项,它们是c
或r
或s
。你可以这样做:/[s\s]+[a-z]+=”([^”+)。[a-z]//code>,这将匹配倒数第二个属性,不管名字。