即使使用 *,正则表达式也不会 return 最小化结果?
The regular expression doesn't return minimize result even with *?
这是我的正则表达式。 <form[\s][\s\S]*action="[\s\S]*?"
。下面是整个内容字符串。
<form role="search" method="get" name="search" action="/job/ice-cream-release/search/" abc d ="" </form>abcd <parameters:<form method="post" autocomplete="off" name="parameters" action="build?delay=0sec"><div width="100%" class="parameters"><tbody>
我已经在正则表达式中使用了*?
,我假设return结果应该在下面,这是最小化结果。
<form role="search" method="get" name="search" action="/job/ice-cream-release/search/"
但实际结果是
<form role="search" method="get" name="search" action="/job/ice-cream-release/search/" abc d ="" </form>abcd <parameters:<form method="post" autocomplete="off" name="parameters" action="build?delay=0sec"
这是怎么发生的?谢谢。
您的输入字符串中有两个 action
个字符序列。
这就是 first *
扩展超过第一个 action
的原因。 (到第二个和最后一个 action
)
通过添加一个 ?
也制作那个 non-greedy,以获得所需的结果:
<form[\s][\s\S]*?action="[\s\S]*?"
这是我的正则表达式。 <form[\s][\s\S]*action="[\s\S]*?"
。下面是整个内容字符串。
<form role="search" method="get" name="search" action="/job/ice-cream-release/search/" abc d ="" </form>abcd <parameters:<form method="post" autocomplete="off" name="parameters" action="build?delay=0sec"><div width="100%" class="parameters"><tbody>
我已经在正则表达式中使用了*?
,我假设return结果应该在下面,这是最小化结果。
<form role="search" method="get" name="search" action="/job/ice-cream-release/search/"
但实际结果是
<form role="search" method="get" name="search" action="/job/ice-cream-release/search/" abc d ="" </form>abcd <parameters:<form method="post" autocomplete="off" name="parameters" action="build?delay=0sec"
这是怎么发生的?谢谢。
您的输入字符串中有两个 action
个字符序列。
这就是 first *
扩展超过第一个 action
的原因。 (到第二个和最后一个 action
)
通过添加一个 ?
也制作那个 non-greedy,以获得所需的结果:
<form[\s][\s\S]*?action="[\s\S]*?"