Javascript 如何从一开始就进行非贪婪搜索

Javascript 如何从一开始就进行非贪婪搜索,javascript,regex,Javascript,Regex,我想从字符串的开头开始搜索,但我不知道如何搜索 如果字符串是>plaplaplapla>plaplaplapla(321),我想从第一个字符的最后一次出现开始,用regex/>.+?\(\d.\)/获取文本 例如,如果文本是>fir5t W0rd$>$ec0nd here(2)>third here(),则我要提取的文本是$ec0nd here(2) 我试图使用regix/>。+?\(\d.\)/,但它给了我>fir5t W0rd$>$ec0nd here(2)而不是>ec0nd here(2)

我想从字符串的开头开始搜索,但我不知道如何搜索

如果字符串是
>plaplaplapla>plaplaplapla(321)
,我想从第一个字符的最后一次出现开始,用regex
/>.+?\(\d.\)/
获取文本

例如,如果文本是
>fir5t W0rd$>$ec0nd here(2)>third here()
,则我要提取的文本是
$ec0nd here(2)

我试图使用regix
/>。+?\(\d.\)/
,但它给了我
>fir5t W0rd$>$ec0nd here(2)
而不是
>ec0nd here(2)


如何修改regix,使其从“>”字符出现的最后一个位置开始?

由于字符串似乎是
分隔的,请使用
[^>]
否定字符类,而不是
*?
惰性点模式:

/>[^>]+\(\d+\)/
看。请注意,
/>[^>]+?\(\d+\)/
的工作原理类似,但将匹配到
后的第一个子字符串。见和

详细信息

  • -文字
  • [^>]+
    -1个或多个字符,而不是
  • \(
    -文字
  • \d+
    -一个或多个数字
  • \)
    -一个
    符号
试试这个:

/>[^>]+?\(\d\)/
这样,您的正则表达式将不会捕获字符
,因此您将获得它的第二个实例


之所以会发生这种情况,是因为字符串是从左到右处理的,并且第一个