使用正则表达式查找字符串前的数字

时间:2015-08-20 22:20:25

标签: regex

我正在尝试创建一个正则表达式,该表达式将检索在9018之前出现在以下字符串中的数字RT110539

<a href="?page=details&amp;skip=1">next</a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<font color="#848484">1 / 9018&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RT110539</font>

我能够通过使用此正则表达式RT110539来隔离(RT)\w+,但我无法弄清楚要使用什么来隔离之前出现的数字9018。 / p>

有什么建议吗?谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用

\b\d+(?=[^\d<]*RT\d+)

或者,如果数字和RT代码之间只有空格:

\b\d+(?=\s*RT\d+)

请参阅Demo 1Demo 2

\bword boundary\d+匹配一个或多个数字,(?=...)positive lookahead,确保有某些内容({{1} - 除了数字或[^\d<]*< - 0或更多空格之外的0个或多个字符,然后是\s*和1个或更多个数字(RT)。

答案 1 :(得分:0)

 var patt = /\d\d\d\d\&nbsp/g ;
 var result = str.match(patt);