Regex 正则表达式,匹配错误

Regex 正则表达式,匹配错误,regex,replace,match,Regex,Replace,Match,我刚开始使用正则表达式,但遇到了麻烦,因为我需要为一个案例编写一个正则表达式 这是我的问题。我写了一个简单的正则表达式: (<img).+[>] ( 在那里你可以很清楚地看到它。它应该只选择img标签区域,而不是它们之间的“a” 有人能给我一些建议如何解决这个问题吗?这个+是贪婪的,它会匹配尽可能多的字符,所以它会继续在第一个之后获取字符,因为后面的字符串中有另一个字符可以匹配,而不会使正则表达式的其他部分无效 要防止+贪婪,请在其后面添加? (<img).+?[>]

我刚开始使用正则表达式,但遇到了麻烦,因为我需要为一个案例编写一个正则表达式

这是我的问题。我写了一个简单的正则表达式:

(<img).+[>]
(
在那里你可以很清楚地看到它。它应该只选择img标签区域,而不是它们之间的“a”


有人能给我一些建议如何解决这个问题吗?

这个
+
是贪婪的,它会匹配尽可能多的字符,所以它会继续在第一个
之后获取字符,因为后面的字符串中有另一个字符可以匹配,而不会使正则表达式的其他部分无效

要防止
+
贪婪,请在其后面添加

(<img).+?[>]
(]
请注意,您的正则表达式的其他元素可能不是必需的,可以简化为:

<img.+?>


(因为
[>]
相同,
()
是您未使用的捕获组)这个
+
是贪婪的,它会匹配尽可能多的字符,因此它会继续在第一个
之后获取字符,因为后面的字符串中还有另一个字符,它可以匹配,而不会使正则表达式的其他部分无效

要防止
+
贪婪,请在其后面添加

(<img).+?[>]
(]
请注意,您的正则表达式的其他元素可能不是必需的,可以简化为:

<img.+?>


(因为
[>]
相同,
()
是一个您没有使用的捕获组)

您可以省去大部分模式-大部分模式都是不必要的

试试这个:

<img.*?>


去掉不必要的括号后,重要的变化是添加
,使其成为一个不情愿的量词-一个尽可能少匹配的量词。

您可以省去大部分模式-其中大部分是不必要的

试试这个:

<img.*?>


去掉不必要的括号后,重要的更改是添加
,使其成为一个不情愿的量词-一个尽可能少匹配的量词。

你能发布该图像中的内容吗?用正则表达式解析html/xml通常行不通。这里的问题可能是你的正则表达式当前很贪婪,所以它会选择所有内容,直到l最后一个
。在字符类中也不需要
。此外,您在其中使用的语言也会很有用。您可以发布该图像中的内容吗?使用正则表达式解析html/xml通常不起作用。这里的问题可能是您的正则表达式当前很贪婪,因此它会选择所有内容,直到最后一个
>。您也不需要在字符类中使用
。此外,您在其中使用的语言也会很有用。