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>,这将匹配倒数第二个属性,不管名字。