我如何在下面使用正则表达式选择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 demo和regex graph:注意
/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]);
}