Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript match(),regex_Javascript_Regex - Fatal编程技术网

Javascript match(),regex

Javascript match(),regex,javascript,regex,Javascript,Regex,我需要在包含以下符号的html文档中搜索第一个出现的字符串:“收件箱(15)”。我编写了以下返回null的表达式: var openTickets = document.body.innerHTML.match(/Inbox\s\((d+)\)/); 我只需要这个数字(在上面的例子中,它是15)来进行进一步的操作,这就是为什么我把它放在括号之间;我还转义了“(”符号(应该有I?),因为它也存在于字符串中 有人能帮我找到正则表达式吗?谢谢。你只是缺少了数字的转义序列。如果你有d+,你就需要\d+

我需要在包含以下符号的html文档中搜索第一个出现的字符串:“收件箱(15)”。我编写了以下返回null的表达式:

var openTickets = document.body.innerHTML.match(/Inbox\s\((d+)\)/);
我只需要这个数字(在上面的例子中,它是15)来进行进一步的操作,这就是为什么我把它放在括号之间;我还转义了“(”符号(应该有I?),因为它也存在于字符串中


有人能帮我找到正则表达式吗?谢谢。

你只是缺少了数字的转义序列。如果你有
d+
,你就需要
\d+

除非您需要支持空格以外的空格字符(制表符、换行符等),否则我只使用

/Inbox \((\d+)\)/
更新 我认为这可能会更好一些,因为您可以消除HTML标记,只解析文本

var rx = /Inbox \((\d+)\)/;
var str = document.body.textContent || document.body.innerText;

var num = rx.test(str) && rx.exec(str)[1];
演示-

使用这个:

document.body.innerHTML.match(/Inbox\s+\([0-9]+\)/);

正如@grallen所建议的那样,你也缺少了捕获组的号码,而这个号码正是OP真正想要的