我如何在下面使用正则表达式选择RQR-1BN6Q360090-0001(不带引号)-

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/gaits/CreateReport.aspx?RptNum=RQR-1BN6Q360090-0001">here</a>.</h2>
</body></html>

I tried this but it does  not work
RptNum=([A-Za-z]+)$

最佳答案

您可以使用

/RptNum=([\w-]+)/


该模式将匹配RptNum=,然后捕获1次或多次出现的字符字符(字母,数字和_)或连字符。请参见regex demoregex graph

javascript - 正则表达式,用于在“=”之后选择值-LMLPHP

注意

/RptNum=([A-Z0-9-]+)/


可能也是一种限制性更强的模式,也应该起作用。它与_和小写字母不匹配。

在JS中,将它与String#match()一起使用,并在匹配时获取第二个数组项:



var s = 'Object moved to <a href="/gaits/CreateReport.aspx?RptNum=RQR-1BN6Q360090-0001">here</a>';
var m = s.match(/RptNum=([\w-]+)/);
if (m) {
  console.log(m[1]);
}

10-06 03:00