Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Regex 用于从字符串中间刮取信息的正则表达式_Regex_Web Scraping - Fatal编程技术网

Regex 用于从字符串中间刮取信息的正则表达式

Regex 用于从字符串中间刮取信息的正则表达式,regex,web-scraping,Regex,Web Scraping,我正在使用webscraper.io构建一个web刮板。我正在刮的一根线如下所示: 畅销书排名:#书籍排名597(见书籍排名前100名)#冯排名第一 水(书)#2在禅宗哲学(书)#7在家庭清洁中, 照顾和重新安置 我正在尝试创建一个正则表达式,它将仅从上面的字符串中分离出第一个数字(597)。表达式应该能够提取此数字的任何格式,无论是简单的597还是带有数千和数百万逗号分隔符的格式(例如1300或10000000) 我尝试使用lookback,但似乎webscraper.io或Chrome不喜欢

我正在使用webscraper.io构建一个web刮板。我正在刮的一根线如下所示:

畅销书排名:#书籍排名597(见书籍排名前100名)#冯排名第一 水(书)#2在禅宗哲学(书)#7在家庭清洁中, 照顾和重新安置

我正在尝试创建一个正则表达式,它将仅从上面的字符串中分离出第一个数字(
597
)。表达式应该能够提取此数字的任何格式,无论是简单的
597
还是带有数千和数百万逗号分隔符的格式(例如
1300
10000000

我尝试使用lookback,但似乎webscraper.io或Chrome不喜欢这样,并返回一个“null”结果

有什么建议吗?非常感谢

使用此正则表达式:

\d{1,3}(,\d{3})*
这意味着:

  • \d{1,3}
    =介于1和3位之间
  • (,\d{3}*
    =一个逗号,然后是3位数字,零次或多次

您的限制条件到底是什么?您没有描述您所做的工作和不想匹配的内容,也没有发布您已经尝试过的内容。我不明白您为什么需要在此处查看。简单使用
[\d,]+
?这并不能回答您的问题,但如果您使用
regex
进行网页抓取,您可能会付出很多努力。如果您使用Python,我建议您使用
BeautifulSoup
之类的库,如果您使用另一种语言,则建议您使用其他网页抓取库。您还应该添加您要使用的语言惯性导航与制导